Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

dataio-artpark

Dataio is a Postgres + FastAPI based Dataset Management System (DMS) built by the Data Science Innovation Hub, ARTPARK, for cataloguing, validating, and distributing datasets. It ships as three things from one repo:

  • A Python package (dataio-artpark on PyPI) with a CLI, an SDK, and a standalone manifest-validation library (dataio.validate) that can be reused outside this project.
  • A FastAPI backend (src/dataio/api/) serving both the programmatic API and a session-based web application API.
  • An Astro + Preact web app (web/) — the admin panel and public dataset catalogue/browser.

You can find the documentation for the project here, and we're also on PyPI here.

For contributor/agent workflow conventions (git workflow, environment variables, code style), see AGENTS.md.

Features

  • Dataset catalogue — browse, search, and download versioned datasets with per-table data dictionaries, manifests, and README documentation, gated by access level.
  • Admin panel (web/src/components/admin/) — import/curate datasets and raw datasets, manage manifests, run manifest validation, and manage users/groups/roles.
  • Dataset & raw dataset ID generation — ds_id is assigned from a single catalogue-wide counter and rds_id from a per-category counter, matching the numbering used in the master Excel catalogue and S3. See suggest_next_dataset_id / suggest_next_raw_dataset_id_for_category in src/dataio/api/database/functions.py, and the "Next Available IDs" tool in the admin panel.
  • Manifest validation (dataio.validate) — a standalone Pydantic-based library that validates a dataset's metadata.yaml + CSV/GeoJSON data against a versioned schema contract (tabular and geojson dataset kinds), independent of the API.
  • Auth — passwordless web login via Email OTP or Passkey (WebAuthn), plus API-key auth for programmatic/SDK access.
  • AI chat assistant (/chat) — an MCP-backed assistant that helps users discover datasets, backed by AWS Bedrock or OpenRouter.

Installation

Install the Python package using pip:

pip install dataio-artpark

or using uv:

uv add dataio-artpark

Development

We use uv to manage the Python project. Clone the repository and run:

uv sync --group api

Backend

Set up the local database (API keys for seeded users are generated in db/init/data_inserts):

bash ./src/dataio/db/init/recreate_full.sh

Apply any new migrations:

uv run all-migrations

Start the API server:

uv run fastapi dev src/dataio/api

or, with logging and autoreload:

uvicorn src.dataio.api.main:app --log-config log_config.yml --reload

Frontend

cd web
npm install
npm run dev      # dev server
npm run build    # astro check + production build

See AGENTS.md for required environment variables (backend .env and web/.env), the full project structure, and git/PR conventions.

Metadata

Release files for dataio-artpark 0.4.0b17

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

Source distribution (sdist)

Source distribution for dataio-artpark 0.4.0b17
File Size Uploaded Provenance Actions
dataio_artpark-0.4.0b17.tar.gz 44.1 kB Without provenance Details for dataio_artpark-0.4.0b17.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dataio-artpark 0.4.0b17
File Interpreter ABI Platform Actions
dataio_artpark-0.4.0b17-py3-none-any.whl Python 3 none any Details for dataio_artpark-0.4.0b17-py3-none-any.whl

Total release size: 98.5 kB

Release files / dataio_artpark-0.4.0b17.tar.gz

Download URL dataio_artpark-0.4.0b17.tar.gz
Size 44.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5424419a9970fb2e9c0875f8352b0918295e32a1305cf2c13ce8bcdb5f2165a7
BLAKE2b-256 checksum
How to use checksums
2a663d06d07b9f0ae35f927f3390151818683e5416753654cf6878b818abc0ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / dataio_artpark-0.4.0b17-py3-none-any.whl

Download URL dataio_artpark-0.4.0b17-py3-none-any.whl
Size 54.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2addc7b5d3695512094dc5e48f1922e61a3a2dc7b3ed4c505be0c9a260c2807f
BLAKE2b-256 checksum
How to use checksums
010b2dd2cab3f5c2f8b2fdbc1c1e97813d6b66a2aa437346213da400dcc88a13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for dataio-artpark 0.4.0b17

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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