mlcroissant
MLCommons datasets format.
What it is and what it does
mlcroissant is a Python library for working with datasets described in the MLCommons Croissant format, a JSON-LD standard for machine learning dataset metadata. It provides two main analysis layers: a static layer that validates Croissant files and converts them into a structure graph (using NetworkX), catching schema violations and logic errors; and a dynamic layer that loads actual dataset examples by converting the structure into an operation graph that executes transformations like downloads and extractions.
The library is designed for teams managing ML datasets at scale. It includes a command-line interface for validation and loading, a Python API for programmatic metadata construction, and support for authentication (git+https and HTTP Basic Auth) when accessing remote distributions. Downloaded files are cached locally by default, and the package depends on common data-science libraries (pandas, scipy, requests, rdflib) plus utilities for graph processing and JSON path queries.
Use it for:
- Validate Croissant metadata files for correctness before publishing or using datasets in ML pipelines.
- Load and iterate over dataset examples defined in Croissant format without manually parsing JSON-LD.
- Programmatically generate Croissant metadata files for new datasets using the Python dataclass API.
- Extend the Croissant standard by defining custom RDF properties on dataset nodes.
- Integrate dataset loading into ML workflows that require standardized, auditable dataset descriptions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Validates and loads datasets described in the MLCommons Croissant JSON-LD format, converting metadata into Python representations for static and dynamic analysis.
Yes, if you work with MLCommons Croissant datasets or need to standardize dataset metadata in your ML pipeline. The package is actively maintained, has low install friction, and provides both validation and loading capabilities. The unclear license status and lack of explicit Python version constraints in the package metadata are minor concerns but do not block use; verify the license and Python 3.10 requirement for your environment before deploying.
Install
mlcroissant on PyPI
pip
pip install mlcroissantuv
uv add mlcroissantpoetry
poetry add mlcroissantInstalling mlcroissant
Before you install
Low install friction with a pure-Python wheel, though the description notes optional system dependencies (graphviz, libgraphviz-dev) may be needed depending on the environment. Maintenance status is active with a recent release.
Quickstart
pip install mlcroissant
import mlcroissant as mlc
# Validate a Croissant metadata file
metadata = mlc.nodes.Metadata(name="my_dataset")
print(metadata.to_json())
# Or use the CLI: mlcroissant validate --jsonld metadata.json
Python >= 3.10 required; optional system dependencies (graphviz, libgraphviz-dev) may be needed on some systems; git+https loading requires CROISSANT_GIT_USERNAME and CROISSANT_GIT_PASSWORD environment variables.
Verify before relying
- Whether the package requires Python 3.10 as a hard minimum or if earlier versions are supported despite the description stating >= 3.10
- Whether all 11 runtime dependencies are always required or if some are optional (e.g., for dev/test extras)
- Current state of the GitHub repository (stars, last commit, archived status) to confirm active maintenance beyond the release date
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — absl-py, etils, jsonpath-rw, networkx, pandas, pandas-stubs, python-dateutil, rdflib, requests, scipy, tqdm |
| Maintenance | actively maintained — 120 days since the last release |
| First released | |
| Downloads | 103,197/month — #12,824 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mlcroissant-1.1.0-py2.py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
datazetsDatazets provides a simple interface to…
permissive · top 15,000 on PyPI
rdflib-jsonldProvides JSON-LD parsing and serialization for…
permissive · top 15,000 on PyPI
datasetsLoads and preprocesses datasets from the…
permissive · top 1,000 on PyPI
tensorflow-datasetsProvides access to many public datasets as…
permissive · top 5,000 on PyPI
ucimlrepoImports datasets from the UC Irvine Machine…
permissive · top 15,000 on PyPI
tfds-nightlyProvides a library of ready-to-use public…
permissive · top 15,000 on PyPI
extructExtracts structured metadata from HTML markup…
permissive · top 15,000 on PyPI
rocraterocrate is a Python library for creating and…
permissive · top 15,000 on PyPI
recipe-scrapersExtracts structured recipe data (ingredients,…
permissive · top 15,000 on PyPI
azuremlConnects to Azure Machine Learning Studio…
permissive · top 15,000 on PyPI