{"id":24643,"library":"sqlalchemy-aurora-data-api","title":"SQLAlchemy Aurora Data API","description":"Provides an SQLAlchemy dialect for AWS Aurora Serverless Data API, enabling connection to Aurora clusters without persistent database connections. Current version 0.5.0, updated occasionally.","status":"active","version":"0.5.0","language":"python","source_language":"en","source_url":"https://github.com/chanzuckerberg/sqlalchemy-aurora-data-api","tags":["aurora","data-api","sqlalchemy","aws"],"install":[{"cmd":"pip install sqlalchemy-aurora-data-api","lang":"bash","label":"Install"}],"dependencies":[{"reason":"Core dependency for the dialect","package":"sqlalchemy","optional":false},{"reason":"AWS SDK for invoking Data API","package":"boto3","optional":false}],"imports":[{"note":"Standard SQLAlchemy import; engine URL uses aurora_data_api://","wrong":"","symbol":"create_engine","correct":"from sqlalchemy import create_engine"}],"quickstart":{"code":"from sqlalchemy import create_engine\nimport os\n\n# Requires AWS credentials configured via environment or IAM role\nengine = create_engine(\"aurora_data_api://?database=my_database&aws_region=us-east-1\")\nwith engine.connect() as conn:\n    result = conn.execute(\"SELECT 1\")\n    print(result.fetchone())","lang":"python","description":"Basic usage: create an engine with the aurora_data_api dialect and query the database."},"warnings":[{"fix":"Use create_engine('aurora_data_api://...')","message":"The dialect URL scheme is 'aurora_data_api' (not 'awsaurora' or 'data-api'). Using a wrong scheme results in import errors.","severity":"breaking","affected_versions":"all"},{"fix":"Add LIMIT or use server-side cursors if available.","message":"The Data API has a 1MB payload limit for results. Large queries may fail with a 'Payload too large' error. Use pagination or limit result sets.","severity":"gotcha","affected_versions":"all"},{"fix":"Consider using the official AWS library 'aws-sdk-python' or 'aurora-data-api' directly if needing updates.","message":"This library is no longer actively maintained by the original authors (Chan Zuckerberg). It may lack support for newer SQLAlchemy versions.","severity":"deprecated","affected_versions":">=0.5.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure sqlalchemy-aurora-data-api is installed: pip install sqlalchemy-aurora-data-api. Also verify SQLAlchemy version compatibility.","cause":"Missing correct installation or import; SQLAlchemy cannot find the dialect plugin.","error":"sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:aurora_data_api"},{"fix":"Set environment variables AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_DEFAULT_REGION, or use IAM role when running on AWS.","cause":"AWS credentials not configured for boto3.","error":"botocore.exceptions.NoCredentialsError: Unable to locate credentials"},{"fix":"Adjust the SQL query to include all non-aggregated columns in GROUP BY or use aggregate functions.","cause":"Aurora MySQL/PostgreSQL SQL strict mode; query violates GROUP BY rules.","error":"sqlalchemy.exc.OperationalError: (aurora_data_api.exceptions.DatabaseError) ... must appear in the GROUP BY clause or be used in an aggregate function"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}