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.19

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.19
File Size Uploaded Provenance Actions
scidats-0.0.19.tar.gz 11.3 kB Without provenance Details for scidats-0.0.19.tar.gz

Built distribution (wheel)

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

Total release size: 23.1 kB

Release files / scidats-0.0.19.tar.gz

Download URL scidats-0.0.19.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a839b20df994dc03f0dc9c177e21527a12175827b6ae4d4f5e9ea28a7596b89d
BLAKE2b-256 checksum
How to use checksums
d6ae39673471b40bfc8db0ae780c49a24e8a61ded19874c7b879fd5c06482edd
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.19-py3-none-any.whl

Download URL scidats-0.0.19-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a413ffb3d86fd39f57336114ff8965cf4d409f47b13e16309b2414efda28368
BLAKE2b-256 checksum
How to use checksums
f395c91657d8bab7b13619f08a77341dfb621170df3f247e854be367b51de442
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.19

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