skillfed

mlcroissant

MLCommons datasets format.

mlcroissant v1.1.0 103.2K downloads/30d#12,824 on PyPI
License unclear Active released

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 mlcroissant

uv

uv add mlcroissant

poetry

poetry add mlcroissant

Installing 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

croissant dataset formatmlcommons dataset validationjson-ld dataset loadermachine learning dataset metadatadataset format parsercroissant metadata validationstructured dataset loading
dataset-metadataml-commonsjson-ld

More Artificial Intelligence packages