Skip to main content

DataSluice

One Python interface for open-data discovery, extraction, format normalization, and pipeline integration

PyPI version CI Documentation License

⚠️ Unstable — under active development. DataSluice is pre-1.0 and evolving fast. Breaking changes may occur at any time without notice. Use it at your own risk.


Installation

pip install datasluice

Optional extras for format and integration support:

pip install "datasluice[pandas,polars,parquet,xlsx]"
pip install "datasluice[all]"          # everything

Apache Airflow

Airflow integration is a separate distribution that imports from the airflow.providers.datasluice namespace:

pip install apache-airflow-providers-datasluice

Quick Start

from datasluice import DataSluice

# Point at any supported portal — the portal type is auto-detected
ds = DataSluice("https://www.data.gouv.fr")

# Search for datasets
results = ds.search("climate")
for dataset in results:
    print(dataset.title, len(dataset.resources))

# Inspect a dataset and list its resources
dataset = ds.get_dataset("some-dataset-id")
for resource in dataset.resources:
    print(resource.format, resource.url)

# Download a resource
path = ds.download(dataset.resources[0], "data/")
print(path)

CLI:

datasluice search "climate" --portal https://www.data.gouv.fr
datasluice inspect -p https://www.data.gouv.fr <dataset-id>
datasluice detect https://demo.ckan.org
datasluice download -p https://www.data.gouv.fr <dataset-id> --format csv

Features

  • Unified API — one interface for CKAN, data.gouv.fr, Socrata, and custom portals
  • Auto-detection — point at a URL and DataSluice figures out the portal type
  • Format normalization — CSV, JSON, XLSX, Parquet, and GeoJSON readers
  • Integrations — pandas, Polars, dlt, DuckDB, and Apache Airflow (separate provider)
  • CLI — search, inspect, download, and detect from the command line
  • Pipeline-ready — retry, rate-limiting, caching, and checksum verification built in

Documentation

Documentation is built with Zensical and deployed to GitHub Pages.

API documentation is auto-generated from docstrings using mkdocstrings.

Docs deploy automatically on push to main via GitHub Actions. To enable this, go to your repo's Settings > Pages and set the source to GitHub Actions.

Development

To set up for local development:

# Clone your fork
git clone git@github.com:your_username/datasluice.git
cd datasluice

# Install dependencies (including all optional deps for dev)
uv sync --all-extras

# Install just (task runner) — one-time setup
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to .venv/bin

# Install in editable mode with live updates
uv tool install --editable .

This installs the CLI globally but with live updates - any changes you make to the source code are immediately available when you run datasluice.

Install pre-commit hooks:

uv run pre-commit install

Run tests:

uv run pytest

Run quality checks (format, lint, type check, test):

just qa

Release Process

Releases are automated with Release Please. There is no manual version bumping or tagging.

  1. Use Conventional Commits (feat:, fix:, docs:, …) — see CONTRIBUTING.md for the full list.
  2. Release Please maintains a release PR on main that bumps the version and updates the changelog.
  3. Merge the release PR → Release Please creates a Git tag and a GitHub Release.
  4. The GitHub Release auto-triggers publishing to TestPyPI, then waits for approval before publishing to PyPI.

Contributing

Contributions are welcome! See CONTRIBUTING.md for setup, conventions, and the release workflow. Please follow the Code of Conduct.

Release files for datasluice 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datasluice 0.2.2
File Size Uploaded
datasluice-0.2.2.tar.gz 3.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for datasluice 0.2.2
File Interpreter ABI Platform
datasluice-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.3 MB

Release files / datasluice-0.2.2.tar.gz

Download URL datasluice-0.2.2.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
79e54ca2575bfdcc52e33aeb229b544e4f983340e56d95c98496ecb9287e8831
BLAKE2b-256 checksum
How to use checksums
b85a7f7d733cfff6d4a59d3d62d313faa3ff35f3b7a3046e442df4bd0eafa889
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / datasluice-0.2.2-py3-none-any.whl

Download URL datasluice-0.2.2-py3-none-any.whl
Size 178.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4a63e27dba9cca0746566580077984cca475c0e73bad29780bf9c1d71585f47
BLAKE2b-256 checksum
How to use checksums
a638ba7aad9996b700faebf541a6506bef5d841f86ff2763275362c4611eff85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.5

2 release files

0.3.4

2 release files

0.3.0

2 release files

This release

0.2.2 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page