{"id":23290,"library":"aurora-data-api","title":"aurora-data-api","description":"A Python DB-API 2.0 client for the AWS Aurora Serverless Data API. Version 0.5.0 adds compatibility with RDS Data API for Aurora Serverless v2. The library provides a familiar database interface (PEP 249) for accessing Aurora Serverless databases without persistent connections.","status":"active","version":"0.5.0","language":"python","source_language":"en","source_url":"https://github.com/chanzuckerberg/aurora-data-api","tags":["aws","aurora","data-api","db-api","rds"],"install":[{"cmd":"pip install aurora-data-api","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"AWS SDK for Data API calls","package":"boto3","optional":false},{"reason":"Optional SQLAlchemy dialect for aurora-data-api","package":"sqlalchemy","optional":true}],"imports":[{"note":"Top-level module provides connect, use that","wrong":"import aurora_data_api.client","symbol":"aurora_data_api","correct":"import aurora_data_api"}],"quickstart":{"code":"import aurora_data_api\n\ncluster_arn = 'arn:aws:rds:us-east-1:123456789012:cluster:my-cluster'\nsecret_arn = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret'\ndatabase = 'mydb'\n\nconnection = aurora_data_api.connect(\n    database=database,\n    secret_arn=secret_arn,\n    resource_arn=cluster_arn\n)\n\nwith connection.cursor() as cursor:\n    cursor.execute('SELECT * FROM users')\n    for row in cursor.fetchall():\n        print(row)","lang":"python","description":"Connect and query Aurora Serverless via Data API"},"warnings":[{"fix":"Manually parse JSON or UUID fields from strings.","message":"Version 0.4.0 reverted native type casting for JSON and UUID columns; they are now returned as strings. If you relied on automatic conversion, update your code.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"Pass parameters as scalar values, not lists.","message":"Array parameters are not supported and raise an error (since 0.4.0). Use individual parameters or batch execute.","severity":"gotcha","affected_versions":">=0.4.0"},{"fix":"Use `resource_arn` as the parameter name.","message":"The `resource_arn` parameter is used but AWS documentation now calls it `resource_arn`; older aliases may be removed.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use tuple expansion or loop: cursor.execute('SELECT * FROM t WHERE id IN (%s,%s)', (1,2))","cause":"Passing a list as a parameter value (e.g., cursor.execute('SELECT * FROM t WHERE id IN (%s)', [1,2])). The driver does not support array parameters.","error":"TypeError: 'list' object has no attribute 'items'"},{"fix":"Verify the secret ARN format: arn:aws:secretsmanager:<region>:<account>:secret:<name>-<random>","cause":"The secret ARN is malformed or the secret does not exist.","error":"botocore.errorfactory.BadRequestException: An error occurred (BadRequestException) when calling the ExecuteStatement operation: Invalid secret arn"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}