SciDatS
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
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.