Skip to main content

Shared data contract for the mesofield -> datakit -> databench pipeline.

Project description

mesokit-schema

Shared data contract for the mesofield → datakit → databench pipeline.

This package defines the typed manifests that travel alongside data between the three repos. It is the single source of truth for:

  • AcquisitionManifest — what mesofield writes at the end of a session: the list of producers that ran, the files they wrote, calibration constants, time bases, and session identity. Datakit consumes this instead of globbing the filesystem.
  • DatasetManifest — what datakit writes alongside the dataset table: schema version, datakit version, content hash of the data file, hash of the upstream acquisition manifest, master TimeBasis, source-parser versions, declared columns. Databench validates against this on load and concatenates it into provenance.
  • AnalysisDeclaration — what each databench analysis declares about its inputs and parameters, so a dataset can be validated against an analysis before it runs.

Plus shared building blocks: TimeBasis, ColumnSpec, BIDS path helpers, and a single SCHEMA_VERSION constant.

Install

From PyPI:

pip install mesokit-schema

From GitHub (latest main):

pip install git+https://github.com/Gronemeyer/mesokit-schema.git

Development

For local development across the pipeline, editable-install into all three envs at once:

./scripts/install-dev.sh                  # all envs
./scripts/install-dev.sh mesofield        # one env

The script editable-installs mesokit-schema plus the env's own package (mesofield, datakit, databench) into each matching conda env. Override layout via CONDA_ENVS_ROOT, DEV_ROOT, or DATABENCH_ROOT env vars.

Or install manually:

pip install -e /path/to/mesokit-schema

Versioning

The package exposes mesokit_schema.SCHEMA_VERSION (semver). Consumers compare against the schema_version field on each manifest and refuse to load anything they don't know how to read. Bump the major version on breaking changes; minor on additive fields.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mesokit_schema-0.4.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mesokit_schema-0.4.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file mesokit_schema-0.4.0.tar.gz.

File metadata

  • Download URL: mesokit_schema-0.4.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mesokit_schema-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6f02db2c4388d60666d2a98a9602d71cd3995eeb7232289b802794a4b5646eb0
MD5 a97b47604a3a196807eec709866e88c7
BLAKE2b-256 601874cb842b9e253ea5aa24008904444e7098d646348cad232b087cea63e24b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mesokit_schema-0.4.0.tar.gz:

Publisher: publish.yml on Gronemeyer/mesokit-schema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mesokit_schema-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: mesokit_schema-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mesokit_schema-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d824b99f0f8bab884b0edda622652eb7c33744c1185c3039a781dcc625a7e5a1
MD5 99eb4ec95a91330adad6a377c2ac60f5
BLAKE2b-256 9d17ddfaca78f211d7b18cf7702c1c89b5b2377ee9be09e1a26a27b87c2b40f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mesokit_schema-0.4.0-py3-none-any.whl:

Publisher: publish.yml on Gronemeyer/mesokit-schema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page