Skip to main content

SciDatS

CI Status Documentation Status Test coverage percentage

uv Ruff pre-commit

PyPI Version Supported Python versions License


SciDatS is a python package for storing and retrieving scientific data stored as parquet files with JSON-LD metadata (semantically annotated JSON - Linked Data).

This Scientific Data Standard is designed as a data exchange format to enable exchange/synchronisation of Scientific Data, maintaining all metadata between different laboratories.

Features

  • efficient storage and retrieval of scientific data and metadata in a single file (parquet with JSON-LD metadata)
  • convenient functions for retrieving data and metadata
  • improved tooling based on pydantic and rdflib
  • reading and writing for SciDatS files
  • coupling to the LabDataReader framework - for transforming proppriatory lab data into a semantically annotated SciDatSa format.
  • recommended metadata formats should be DCAT-application profiles, e.g. DCAT-AP-PLUS or Chem-DCAT-AP

Design criteria

Here are some of the criteria the data / metadata standard has to fulfil (and in brackets the selected technology) :

  • data and metadata storage for scientific / machine learning needs (semantic annotation, based on ontologies, derivatives of owlready2)

    • proper nullable data / missing data handling (pyarrow / parquet)

    • data modalities, like range / limits, type / continuous / categorial / variable treatment in case of range violation (parquet metadata)

    • cardinality (parquet metadata)

  • efficient storage (parquet)

  • metadata and data stored at one place (parquet)

  • metadata conservation when saving / loading / processing (parquet -> arrow)

  • fast data exchange (arrow flight, MinIO active replication)

  • fast loading (fastparquet, pyarrow)

  • fast data processing without in-memory re-writing after loading ( pandas with pyarrow backend, arrow flight, polars)

  • "modalities" for the machine learning models

  • semantic annotations / metadata in RDF compliant format - for creating instances of ontology classes and SPARQL reasoning (JSON-LD, rdflib, owlready2)

  • fast data processing (direct loading into pyarrow driven dataframe )

  • programming language agnostic / independent (parquet)

  • easy to use (SciDatS / labDataReader framework, currently in implementation by me)

  • commonly used in ETL pipelines (Apache Spark, prefect, ... )

  • suitable for S3 file storage systems (MinIO)

Installation

You can install SciDatS via pip (or your favourite package manager):

# using pip
pip install scidats
# using uv
uv add scidats
uv sync --group dev --group test

Tutorials

A tutorial on how to use SciDatS can be found in the scidat_demo_tutorial.ipynb Jupyter notebook in the jupyter folder.

Documentation

The Documentation can be found here: https://opensourcelab/scientificdata.gitlab.io/scidats

ReadTheDocs: https://scidats.readthedocs.io

Source Code: https://gitlab.com/opensourcelab/scientificdata/scidats


SciDatS is a python package for storing and retrieving scientific data stored in JSON-LD (semantically annotated JSON - Linked Data).

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

Copier

This package was created with Copier and the pypackage-template project template.

Metadata

Release files for scidats 0.0.18

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

Source distribution (sdist)

Source distribution for scidats 0.0.18
File Size Uploaded Provenance Actions
scidats-0.0.18.tar.gz 9.3 kB Without provenance Details for scidats-0.0.18.tar.gz

Built distribution (wheel)

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

Total release size: 18.5 kB

Release files / scidats-0.0.18.tar.gz

Download URL scidats-0.0.18.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a2caa9be65c83b94ef936b5955bb378b4b1f130a775cdedd2eadc0e3df693a94
BLAKE2b-256 checksum
How to use checksums
6edf95701271204d2a7c1b8dcf65b8c887d683e9b8497bc17d137f6a259ea983
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / scidats-0.0.18-py3-none-any.whl

Download URL scidats-0.0.18-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d18003c3257052da0ac7d73234e0741e0b996d88bfeaa6c2ba50ccbb1f44faf
BLAKE2b-256 checksum
How to use checksums
311769e3fe25e8a3b7af0f8f3adde9956f580e412b8fb06ad7d5f48ce5dc9ef2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Security for scidats 0.0.18

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