PyAthena

May 24, 2026 ยท View on GitHub

PyAthena logo

PyPI - Version PyPI - Python Version PyPI - Downloads CI - Test CD - Docs License - MIT linting - Ruff types - Mypy

PyAthena is a Python DB API 2.0 (PEP 249) client for Amazon Athena.


Requirements

  • Python

    • CPython 3.10, 3.11, 3.12, 3.13, 3.14

Installation

$ pip install PyAthena

Extra packages:

PackageInstall commandVersion
SQLAlchemypip install PyAthena[SQLAlchemy]>=1.0.0
AioSQLAlchemypip install PyAthena[AioSQLAlchemy]>=2.0.0
Pandaspip install PyAthena[Pandas]>=1.3.0
Arrowpip install PyAthena[Arrow]>=10.0.0
Polarspip install PyAthena[Polars]>=1.0.0

Usage

from pyathena import connect

cursor = connect(s3_staging_dir="s3://YOUR_S3_BUCKET/path/to/",
                 region_name="us-west-2").cursor()
cursor.execute("SELECT * FROM one_row")
print(cursor.description)
print(cursor.fetchall())

Native asyncio is also supported:

import asyncio
from pyathena import aio_connect

async def main():
    async with await aio_connect(s3_staging_dir="s3://YOUR_S3_BUCKET/path/to/",
                              region_name="us-west-2") as conn:
        cursor = conn.cursor()
        await cursor.execute("SELECT 1")
        print(await cursor.fetchone())

asyncio.run(main())

License

MIT license

Many of the implementations in this library are based on PyHive, thanks for PyHive.

The PyAthena logo was generated using Nano-Banana Pro (Gemini 3 Pro Image).