{"library":"pyathenajdbc","title":"PyAthenaJDBC: Amazon Athena JDBC driver wrapper for Python DB API 2.0","description":"PyAthenaJDBC is a Python DB API 2.0 (PEP 249) compliant wrapper for Amazon Athena, utilizing the official JDBC driver via JPype. It provides a way to interact with Athena from Python using standard database connection patterns. The library is currently at version 3.0.1 and frequently updates to support the latest Athena JDBC driver and port features from its pure Python counterpart, PyAthena.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pyathenajdbc"],"cli":null},"imports":["from pyathenajdbc import connect"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pyathenajdbc import connect\n\n# Ensure AWS credentials (e.g., AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)\n# and region (AWS_REGION) are set via environment variables or boto3 config.\n\n# S3OutputLocation is required for Athena query results.\n# It's recommended to set it via an environment variable.\n# Example: export AWS_ATHENA_S3_OUTPUT_LOCATION='s3://your-athena-query-results-bucket/'\ns3_output_location = os.environ.get('AWS_ATHENA_S3_OUTPUT_LOCATION', '')\n\nif not s3_output_location:\n    raise ValueError(\"AWS_ATHENA_S3_OUTPUT_LOCATION environment variable must be set.\")\n\ntry:\n    conn = connect(\n        AwsRegion=os.environ.get('AWS_REGION', 'us-east-1'),\n        Schema='default', # Your Athena database name\n        S3OutputLocation=s3_output_location,\n        # User=os.environ.get('AWS_ACCESS_KEY_ID'), # Optional if using default credential chain\n        # Password=os.environ.get('AWS_SECRET_ACCESS_KEY') # Optional if using default credential chain\n    )\n\n    with conn.cursor() as cursor:\n        cursor.execute(\"SELECT 1 as one_value\")\n        row = cursor.fetchone()\n        print(f\"Result from SELECT 1: {row}\")\n\n        cursor.execute(\"SHOW TABLES\")\n        tables = cursor.fetchall()\n        print(f\"Tables in 'default' schema: {tables}\")\n\nfinally:\n    if 'conn' in locals() and conn:\n        conn.close()","lang":"python","description":"Connects to Amazon Athena using default AWS credentials and executes a simple query. The `S3OutputLocation` is mandatory for Athena query results and should be configured. Credentials can be passed explicitly but are often resolved automatically by the `DefaultAWSCredentialsProviderChain`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"3.0.1","pypi_latest":"3.0.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":40,"avg_install_s":1.8,"avg_import_s":0.01,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyathenajdbc","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyathenajdbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"30M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyathenajdbc","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyathenajdbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.02,"mem_mb":0.9,"disk_size":"32M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyathenajdbc","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyathenajdbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.01,"mem_mb":0.6,"disk_size":"24M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyathenajdbc","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyathenajdbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0.01,"mem_mb":0.5,"disk_size":"24M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyathenajdbc","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyathenajdbc","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":6.2,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}