{"id":23642,"library":"duckdb-extension-httpfs","title":"DuckDB HTTPFS Extension","description":"Pip-installable DuckDB httpfs extension for reading/writing remote files via HTTP(S) and S3. Version 1.5.1 is the latest, compatible with DuckDB 1.5.1. Releases track DuckDB versions. Development is active.","status":"active","version":"1.5.1","language":"python","source_language":"en","source_url":"https://github.com/santosh-d3vpl3x/duckdb_extensions","tags":["duckdb","extension","httpfs","s3","parquet"],"install":[{"cmd":"pip install duckdb-extension-httpfs==1.5.1","lang":"bash","label":"Install httpfs extension"},{"cmd":"pip install duckdb duckdb-extension-httpfs","lang":"bash","label":"Install DuckDB with httpfs"}],"dependencies":[{"reason":"The extension must be loaded into a DuckDB database connection.","package":"duckdb","optional":false}],"imports":[{"wrong":"import duckdb; duckdb.load_extension('httpfs')","symbol":"duckdb_extension_httpfs","correct":"import duckdb_extension_httpfs"}],"quickstart":{"code":"import duckdb\n\nduckdb.load_extension('httpfs')\n\ndb = duckdb.connect()\ndb.execute(\"\"\"\nSET s3_access_key_id = 'ACCESS_KEY';\nSET s3_secret_access_key = 'SECRET_KEY';\nSET s3_region = 'us-east-1';\nCREATE TABLE test AS SELECT * FROM read_parquet('s3://bucket/file.parquet')\n\"\"\")\nprint(db.execute('SELECT COUNT(*) FROM test').fetchone())","lang":"python","description":"Load the httpfs extension and query S3 data. Replace ACCESS_KEY/SECRET_KEY with your credentials."},"warnings":[{"fix":"Upgrade to Python 3.9+ or use duckdb-extension-httpfs==1.3.2 for Python 3.8 support.","message":"Python 3.8 is no longer supported starting from version 1.4.0. Requires Python >=3.9.","severity":"breaking","affected_versions":">=1.4.0"},{"fix":"Use the same DuckDB and duckdb-extension-httpfs version (e.g., both 1.5.1).","message":"The extension version must exactly match the DuckDB major.minor version (e.g., both 1.5.x). Mixing versions (e.g., httpfs 1.5.0 with DuckDB 1.4.4) will cause load failures.","severity":"gotcha","affected_versions":"all"},{"fix":"Use duckdb.load_extension('httpfs') after importing duckdb.","message":"Direct Python module import (from duckdb_extension_httpfs import ...) was never officially supported. The only supported way is duckdb.load_extension('httpfs').","severity":"deprecated","affected_versions":"all"},{"fix":"Set S3 configuration via SET s3_access_key_id = '...'; SET s3_secret_access_key = '...'; SET s3_region = '...'; in the session.","message":"S3 credentials are set with session-level SET statements, not using environment variables by default. Forgetting to set s3_access_key_id/s3_secret_access_key causes permission errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.5.1':20,27 'activ':34 'compat':24 'develop':32 'duckdb':1,7,26,30,35 'extens':3,9,36 'file':13 'http':15 'httpfs':2,8,37 'instal':6 'latest':23 'parquet':39 'pip':5 'pip-instal':4 'reading/writing':11 'releas':28 'remot':12 's3':18,38 'track':29 'version':19,31 'via':14","created_at":"2026-05-01T08:08:50.773577+00:00","updated_at":"2026-05-01T08:08:50.773577+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.5.3","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/santosh-d3vpl3x/duckdb_extensions#readme","docs":"https://github.com/santosh-d3vpl3x/duckdb_extensions#readme","changelog":null,"pypi":"https://pypi.org/project/duckdb-extension-httpfs/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","data","http-networking","aws"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}