← all repositories
mlcommons/croissant

Taming ML dataset chaos with a Schema.org pastry

Croissant wraps metadata, resources, structure, and ML semantics into a single JSON-LD file so datasets stop being bespoke puzzles.

878 stars Jupyter Notebook Data Tooling
croissant
Not currently ranked — collecting fresh signals.
star history

What it does

ML datasets are currently organized in endless ad-hoc ways, forcing every researcher to write new loading code. Croissant is a high-level metadata format—built on schema.org and expressed as JSON-LD—that describes a dataset’s files, schema, and typical ML usage in one place. Major hubs like Hugging Face, Kaggle, and Google Dataset Search already index or export it.

The interesting bit

The clever part is that it does not replace your data files; it simply layers four descriptions—metadata, resources, structure, and ML semantics—on top of existing formats. It is essentially a standardized “nutrition label” that TensorFlow Datasets, PyTorch workflows, and search engines can all read without custom glue code.

Key highlights

  • Built on the widely used schema.org Dataset vocabulary, so it is inherently web-searchable.
  • Already supported by Hugging Face, Kaggle, OpenML, Google Dataset Search, and TFDS via CroissantBuilder.
  • The mlcroissant Python library can inspect metadata and stream records from local or remote definitions.
  • A single JSON-LD file replaces the usual README-plus-code guessing game for understanding a new dataset.
  • Developed under the MLCommons Association and published at NeurIPS 2024.

Caveats

  • The project is explicitly “currently under development by the community,” so the spec and tooling are still evolving.
  • The specification carries a CC BY-ND 4.0 license—an unusual, no-derivatives choice for a standard meant to be widely adopted.
  • The reference implementation requires Python 3.10+.

Verdict

Anyone building dataset hubs, search tools, or reproducible ML pipelines should pay attention. If you only ever use one private dataset in one format, it is probably overkill for now.

Frequently asked

What is mlcommons/croissant?
Croissant wraps metadata, resources, structure, and ML semantics into a single JSON-LD file so datasets stop being bespoke puzzles.
Is croissant open source?
Yes — mlcommons/croissant is open source, released under the Apache-2.0 license.
What language is croissant written in?
mlcommons/croissant is primarily written in Jupyter Notebook.
How popular is croissant?
mlcommons/croissant has 878 stars on GitHub.
Where can I find croissant?
mlcommons/croissant is on GitHub at https://github.com/mlcommons/croissant.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.