{"id":23641,"library":"duckdb-extension-aws","title":"DuckDB AWS Extension","description":"Pip-installable DuckDB AWS extension for Amazon S3 and AWS Glue integration. Version 1.5.1 is compatible with DuckDB 1.5.1. Released on a per-DuckDB-version cadence; versions are pinned to the DuckDB minor release.","status":"active","version":"1.5.1","language":"python","source_language":"en","source_url":"https://github.com/santosh-d3vpl3x/duckdb_extensions","tags":["duckdb","extension","aws","s3","glue","data-engineering"],"install":[{"cmd":"pip install duckdb-extension-aws==1.5.1","lang":"bash","label":"Install specific version"}],"dependencies":[{"reason":"Required runtime dependency – the extension loads into DuckDB.","package":"duckdb","optional":false}],"imports":[{"note":"No direct import. The extension is loaded via duckdb.load_extension().","symbol":"duckdb","correct":"import duckdb\nduckdb.load_extension('aws')"}],"quickstart":{"code":"import duckdb\nimport os\n\n# Load the AWS extension\ncon = duckdb.connect()\ncon.install_extension('aws')\ncon.load_extension('aws')\n\n# Set AWS credentials (from environment or explicit)\ncon.execute(\"SET s3_region='us-east-1'\")\n# For production, use IAM roles or aws configure\n\n# Query a file from S3\ncon.execute(\"SELECT count(*) FROM read_parquet('s3://my-bucket/data/*.parquet')\").fetchone()","lang":"python","description":"Install and load the AWS extension, then query Parquet files on S3."},"warnings":[{"fix":"Install the exact same version for both duckdb and duckdb-extension-aws.","message":"The extension version must exactly match your DuckDB version (e.g., both 1.5.1). Mismatch causes load failure.","severity":"breaking","affected_versions":"all"},{"fix":"Always call con.install_extension('aws') then con.load_extension('aws') after connecting.","message":"The extension must be installed AND loaded separately. install_extension downloads it, load_extension activates it.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to Python 3.9+ or stay on duckdb-extension-aws==1.3.2.","message":"Python 3.8 support was dropped in version 1.4.0.","severity":"deprecated","affected_versions":">=1.4.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run con.install_extension('aws') before con.load_extension('aws'). Ensure duckdb and duckdb-extension-aws versions match.","cause":"DuckDB auto-loading fails or extension version mismatch. The extension must be explicitly installed.","error":"IO Error: Extension \"aws\" not found in registry"},{"fix":"Use duckdb.load_extension('aws') after connecting, not a Python import.","cause":"The extension is not a Python importable module; it must be loaded via DuckDB.","error":"ImportError: No module named 'duckdb_extension_aws'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}