--- id: asyncmy version: "0.2.14" license: Apache-2.0 license_treatment: permissive maintenance: active --- # asyncmy — The fastest asyncio MySQL/MariaDB driver for Python License: permissive · Maintenance: active · Downloads: 895.2K/mo ## What it is and what it does asyncmy is an asyncio MySQL/MariaDB driver that optimizes the protocol layer for speed while keeping the aiomysql API surface familiar. It supports both text and binary (server-side prepared statement) protocols, built-in connection pooling, and replication stream reading. The core optimization is bulk packet parsing—rows are decoded directly from the receive buffer without intermediate Python objects, and numeric/temporal columns parse natively from wire bytes. Typical use is either single-connection queries via `asyncmy.connect()` or high-concurrency workloads via `asyncmy.create_pool()`. The binary protocol is opt-in (via `conn.prepare()` or transparent mode with `stmt_cache_size`), offering another ~35% speedup for repeated queries by eliminating client-side escaping and text parsing. Type stubs are included for mypy/Pylance integration. Use it for: - High-throughput async web services (FastAPI, Starlette) needing fast pooled MySQL/MariaDB access without blocking. - Bulk data pipelines reading large result sets where the 2.1x speedup over mysqlclient matters. - Applications using rotating credentials (e.g., AWS RDS IAM tokens) via the password_creator callback. - ORM-backed services that benefit from transparent prepared-statement caching without code changes. - Real-time analytics or replication monitoring via the BinLogStream replication protocol support. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. asyncmy is an asyncio-native MySQL/MariaDB driver providing fast asynchronous database access with an aiomysql-compatible API, built on an optimized protocol core. Yes, if you need async MySQL/MariaDB access and can tolerate medium install friction (compiled extensions). The performance gains are substantial and well-benchmarked, the API is familiar to aiomysql users, and the maintenance signal is strong (active repo, recent release, no vulnerabilities). Windows users should factor in the C++ Build Tools prerequisite. Not necessary if you're using synchronous-only code or already satisfied with aiomysql's throughput. ## Install pip install asyncmy uv add asyncmy poetry add asyncmy ## Installing asyncmy Before you install: Medium install friction due to compiled extensions. Prebuilt wheels available for Python 3.10–3.12 across common platforms (macOS, Linux, Windows), but Windows users must install Microsoft C++ Build Tools before pip install. Repository is actively maintained with recent release (2 days old) and no known vulnerabilities. License in practice: Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most production deployments. Quickstart: import asyncio import asyncmy async def main(): conn = await asyncmy.connect(host="localhost", user="root", password="") async with conn.cursor() as cursor: await cursor.execute("SELECT 1") result = await cursor.fetchone() await conn.ensure_closed() asyncio.run(main()) Requires Python ≥3.9. On Windows, Microsoft C++ Build Tools must be installed before pip install to compile extensions. Verify before relying: - Whether the stated performance improvements (2.1x faster than mysqlclient, 5x faster than aiomysql) hold for typical workloads outside the benchmark suite. - Compatibility and performance impact of the transparent prepared-statement cache mode with different ORMs. - Whether rotating credentials via password_creator work reliably across all pool reconnection scenarios. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 895.2K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags asyncio mysql driver, async mariadb client, fast async database, aiomysql alternative, async sql connection pool, binary protocol mysql, asyncio database adapter, asyncio, mysql-driver, performance-optimized [View on SkillFed](https://skillfed.io/packages/asyncmy) · [View on PyPI](https://pypi.org/project/asyncmy/)