Registry / data / intake

intake

JSON →
library2.0.9pypypi✓ verified 22d ago

Intake is a lightweight Python package for finding, investigating, loading, and distributing data. It provides a common API for loading data from a wide variety of sources (e.g., CSV, NetCDF, SQL, HDF5, Parquet, Zarr) and enables the creation and management of data catalogs. The current version is 2.0.9, and the project is in a stable maintenance phase for its 2.x series, with less frequent but significant updates.

pip install intake
INSTALL
IMPORT
SIG · INTAKE
I
intake
datapythonv2.0.9
Install
3.2s avg
Import
540ms
Disk
38MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2.0.9 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 0.560s · 37.2MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 3.2s · import 0.519s · 38MB
38MB installed
● package 38MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Catalog
from intake import Catalog
import intake; catalog = intake.open_catalog('my_catalog.yaml')

This quickstart demonstrates how to open a remote Intake catalog and load a dataset (US States data) into a Pandas DataFrame.

import intake # Open a public example catalog catalog = intake.open_catalog("https://raw.githubusercontent.com/intake/intake-examples/master/catalogs/us_states.yml") # Access a data source from the catalog df = catalog.states.read() print(df.head())
intake --version
Debug
Known issues
breakingMajor API changes occurred between Intake 1.x and 2.x, particularly concerning how drivers are accessed and catalog specifications are defined. Directly using `intake.source.<driver>.SourceClass` is deprecated in favor of `intake.open_<format>(...)` functions.
fix
Update catalog YAML files to the Intake 2.x schema. Use `intake.open_catalog()` for catalogs and `intake.open_csv()`, `intake.open_parquet()`, etc., for direct source access. Consult the official migration guide.
affects: <2.0 migrating to >=2.0
gotchaIntake relies heavily on a plugin system for specific data formats and remote storage. If you try to open a file type (e.g., Parquet, SQL) or access a remote system (e.g., S3) without the corresponding `intake-<plugin_name>` package installed, you will encounter errors.
fix
Ensure you install the necessary Intake plugins, e.g., `pip install intake-parquet` for Parquet files, `pip install intake-sql` for SQL databases, or `pip install s3fs` for S3 access (often included in `intake[s3]` extras).
affects: All 2.x versions
gotchaConfusing `intake.open_catalog()` with direct source opening functions like `intake.open_csv()`. `open_catalog` is for loading YAML catalog files (which can contain multiple sources), whereas `open_csv` (and similar) directly open a single data file without a catalog.
fix
Use `intake.open_catalog()` when you have a YAML file defining multiple data sources or remote catalogs. Use `intake.open_csv()`, `intake.open_parquet()`, etc., for quick, one-off access to individual files.
affects: All 2.x versions
Upgrade
Version history
2.0.9latest on PyPI · released Mar 9, 2026
Audit
Dependencies
pyyamlrequiredYAML parsing for catalogs
fsspecrequiredFilesystem abstraction
daskoptionalParallel computing capabilities (optional, but commonly used)
pandasoptionalDataFrame processing (optional, but commonly used)
Agent activity
10 hits · last 30 days
node
9
Resources
intake — pip install intake · libregistry