GitHub

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:

Package Install command Version
SQLAlchemy pip install PyAthena[SQLAlchemy] >=1.0.0
AioSQLAlchemy pip install PyAthena[AioSQLAlchemy] >=2.0.0
Pandas pip install PyAthena[Pandas] >=1.3.0
Arrow pip install PyAthena[Arrow] >=10.0.0
Polars pip 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.

Links

Logo

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

Read the original on github.com ↗