Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Huggingface Datasets DatasetInfo

From Leeroopedia
Knowledge Sources
Domains Data_Engineering, NLP
Last Updated 2026-02-14 18:00 GMT

Overview

Concrete tool for configuring dataset metadata (description, citation, license, features) provided by the HuggingFace Datasets library.

Description

DatasetInfo is a dataclass that documents datasets, including name, version, features, description, citation, license, split information, and size statistics. It supports serialization to/from JSON for persistence alongside data files. A subset of fields (config_name, download_size, dataset_size, features, splits) is included in dataset card YAML front matter. The class automatically converts raw dict/list representations to proper typed objects (Features, SplitDict, Version, etc.) in its __post_init__.

Usage

Use DatasetInfo to attach metadata to datasets during creation, or access it via dataset.info on existing datasets. It is automatically populated and serialized during push_to_hub.

Code Reference

Source Location

  • Repository: datasets
  • File: src/datasets/info.py
  • Lines: 92-323

Signature

@dataclass
class DatasetInfo:
    description: str = dataclasses.field(default_factory=str)
    citation: str = dataclasses.field(default_factory=str)
    homepage: str = dataclasses.field(default_factory=str)
    license: str = dataclasses.field(default_factory=str)
    features: Optional[Features] = None
    post_processed: Optional[PostProcessedInfo] = None
    supervised_keys: Optional[SupervisedKeysData] = None
    builder_name: Optional[str] = None
    dataset_name: Optional[str] = None
    config_name: Optional[str] = None
    version: Optional[Union[str, Version]] = None
    splits: Optional[SplitDict] = None
    download_checksums: Optional[dict] = None
    download_size: Optional[int] = None
    post_processing_size: Optional[int] = None
    dataset_size: Optional[int] = None
    size_in_bytes: Optional[int] = None

Import

from datasets import DatasetInfo

I/O Contract

Inputs

Name Type Required Description
description str No A textual description of the dataset.
citation str No A BibTeX citation string.
homepage str No URL to the dataset's official homepage.
license str No License name or terms.
features Features No The dataset's column types schema.
version str or Version No Version identifier for the dataset.
splits SplitDict No Mapping of split names to split metadata.

Outputs

Name Type Description
instance DatasetInfo A DatasetInfo object containing all metadata fields.

Usage Examples

Basic Usage

from datasets import DatasetInfo, Features, Value

info = DatasetInfo(
    description="A sample dataset for demonstration.",
    citation="@article{sample, title={Sample}}",
    license="MIT",
    features=Features({"text": Value("string"), "label": Value("int32")}),
)

# Pass to dataset construction
from datasets import Dataset
ds = Dataset.from_dict(
    {"text": ["Hello"], "label": [1]},
    info=info,
)
print(ds.info.description)
# "A sample dataset for demonstration."

Related Pages

Implements Principle

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment