Intake-DuckDB
DuckDB Plugin for Intake
Installation
From PyPI
pip install intake-duckdb
Or conda-forge
conda install -c conda-forge intake-duckdb
Usage
Load an entire table into a dataframe
source = intake.open_duckdb("path/to/dbfile", "tablename")
df = source.read()
Or a custom SQL in valid DuckDB query syntax
source = intake.open_duckdb("path/to/dbfile", "SELECT col1, col2 FROM tablename")
df = source.read()
Can also iterate over table chunks
source_chunked = intake.open_duckdb("path/to/dbfile", "tablename", chunks=10)
source_chunked.discover()
for chunk in source_chunked.read_chunked():
# do something
...
DuckDB catalog: create an Intake catalog from a DuckDB backend
cat = intake.open_duckdb_cat("path/to/dbfile")
# list the sources in 'cat'
list(cat)
df = cat["tablename"].read()
df_chunks = [chunk for chunk in cat["tablename"](chunks=10).read_chunked()]
Run DuckDB queries on other Intake sources (that produce pandas DataFrames) within the same catalog
# cat.yaml
sources:
csv_source:
args:
urlpath: https://data.csv
description: Remote CSV source
driver: csv
duck_source:
args:
targets:
- csv_source
sql_expr: SELECT col FROM csv_source LIMIT 10
description: Source referencing other sources in catalog
driver: duckdb_transform
cat = intake.open_catalog("cat.yaml")
duck_source = cat.duck_source.read()
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
intake-duckdb-0.1.2.tar.gz
(5.3 kB
view details)
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 intake-duckdb-0.1.2.tar.gz.
File metadata
- Download URL: intake-duckdb-0.1.2.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c395b8c5fb8bf1f9765e9481b81df8092d05d2fca991100e7b9ee0f7f03d5c4
|
|
| MD5 |
036d276e9c4a42ea4be9cea8cd0bf6db
|
|
| BLAKE2b-256 |
12d8c0f699275b203fff063575db365c5c4f975fe96dc89f3436628163b1dde7
|
File details
Details for the file intake_duckdb-0.1.2-py3-none-any.whl.
File metadata
- Download URL: intake_duckdb-0.1.2-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0897f57eae10ad9b1f1f573ca80dff02ed8cf2ebf8e45736093f981416efb43e
|
|
| MD5 |
f5c4059ad854080467c778407be0a884
|
|
| BLAKE2b-256 |
2341dd3031b3a834ff8723ffdcd0430a30a253f75c1cc64de719652e9290d675
|