Instantly connect to curated DuckDB databases built from public data
Project description
datapond
Public data, instantly queryable.
datapond gives you instant SQL access to curated DuckDB databases built from public data sources -- no downloads, no API keys, no setup.
Install
pip install datapond
For faster downloads from Hugging Face:
pip install datapond[download]
Quick start
Browse available databases
import datapond
# See what's available
datapond.list()
# Get details about a specific database
datapond.info("eoir")
Connect and query
import datapond
con = datapond.connect("eoir")
con.sql("SHOW TABLES").show()
con.sql("SELECT * FROM cases LIMIT 10").show()
The connection is a standard duckdb.Connection -- use it however you normally use DuckDB, including with pandas and Polars.
df = con.sql("SELECT * FROM cases LIMIT 1000").df() # pandas
pl = con.sql("SELECT * FROM cases LIMIT 1000").pl() # polars
Download for offline use
datapond.download("eoir")
# Later, connect locally
con = datapond.connect("eoir", local=True)
Update a local database
datapond.update("eoir")
Multi-database queries
Attach multiple databases at once and query across them:
con = datapond.connect(["eoir", "foia"])
# Tables are namespaced by database ID
con.sql("SELECT * FROM eoir.cases LIMIT 5").show()
con.sql("SELECT * FROM foia.requests LIMIT 5").show()
CLI
datapond also includes a command-line interface:
# List available databases
datapond list
# Show database details
datapond info eoir
# Download a database
datapond download eoir --path ./data/
# Open an interactive SQL session
datapond connect eoir
How it works
datapond connects to read-only DuckDB files hosted remotely via the httpfs extension. The registry maintains a catalog of available databases with their URLs and metadata.
When you call datapond.connect(), it:
- Looks up the database in the registry
- Installs and loads the httpfs extension
- Attaches the remote DuckDB file as read-only
- Returns a connection ready for queries
No data is downloaded unless you explicitly call datapond.download().
Links
Contributing
Contributions are welcome. To add a new database to datapond, submit a pull request to the registry repository.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file datapond-0.1.1.tar.gz.
File metadata
- Download URL: datapond-0.1.1.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df2a39df9b3da5c658eb70a580203ffdebabbafc27ed0be9f7928f68013109e4
|
|
| MD5 |
56696a0fb154e1bd231fc86bb405966a
|
|
| BLAKE2b-256 |
38d9760988ce509715e21ca9b2de5688d2ae2c283a193cc273ad8d11a369aec1
|
File details
Details for the file datapond-0.1.1-py3-none-any.whl.
File metadata
- Download URL: datapond-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb6d5b4bd15b77a897d48ec785097b8b74550cf4b248bddba14159a519012174
|
|
| MD5 |
e220ed2a713664d13492c93fb615abd6
|
|
| BLAKE2b-256 |
c18f0ee243b5490b1b94f021a65815bc32faa1075d5826974675bb8dfeb9d956
|