asyncmy
The fastest asyncio MySQL/MariaDB driver for Python
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python ≥3.9.
- On Windows, Microsoft C++ Build Tools must be installed before pip install to compile extensions.
- Medium install friction due to compiled extensions.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most production deployments.
last release 2026-08-12 (2 days) · last repo commit 2026-08-12 · 386 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 895,220 downloads/mo, #4,790 on PyPI
Alternatives
Verify before relying
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())- 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.
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 on this page. Verify before relying on it.
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
asyncmy on PyPI
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.
Requires Python ≥3.9. On Windows, Microsoft C++ Build Tools must be installed before pip install to compile extensions.
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())
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 the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 895,220 / month, #4,790 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: asyncmy-0.2.14-cp310-cp310-macosx_10_9_x86_64.whl; asyncmy-0.2.14-cp310-cp310-macosx_11_0_arm64.whl; asyncmy-0.2.14-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; asyncmy-0.2.14-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; asyncmy-0.2.14-cp310-cp310-musllinux_1_2_aarch64.whl; asyncmy-0.2.14-cp310-cp310-musllinux_1_2_x86_64.whl; asyncmy-0.2.14-cp310-cp310-win32.whl; asyncmy-0.2.14-cp310-cp310-win_amd64.whl; asyncmy-0.2.14-cp311-cp311-macosx_10_9_x86_64.whl; asyncmy-0.2.14-cp311-cp311-macosx_11_0_arm64.whl; asyncmy-0.2.14-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; asyncmy-0.2.14-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; asyncmy-0.2.14-cp311-cp311-musllinux_1_2_aarch64.whl; asyncmy-0.2.14-cp311-cp311-musllinux_1_2_x86_64.whl; asyncmy-0.2.14-cp311-cp311-win32.whl; asyncmy-0.2.14-cp311-cp311-win_amd64.whl; asyncmy-0.2.14-cp312-cp312-macosx_10_13_x86_64.whl; asyncmy-0.2.14-cp312-cp312-macosx_11_0_arm64.whl; asyncmy-0.2.14-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; asyncmy-0.2.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “fast async database”
- asyncmyasyncmy is an asyncio-native MySQL/MariaDB driver providing fast…
- piccoloPiccolo is an async-first ORM and query builder for Python that…
- asyncpgasyncpg is an asyncio-native PostgreSQL client library that executes…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also asyncmy2 · hopsworks-aiomysql · aiomysql · asynch · databases · aiosql · PyMySQL · mysqlclient · mysql-replication · acsylla