Model and Dataset card parsing and creation.
Cards are structured documentation files (README.md) that contain YAML frontmatter with metadata and markdown content for documentation.
Examples
# Load and parse cards from repositories
{:ok, card} = HfHub.Cards.load_model_card("bert-base-uncased")
card.data.license # "apache-2.0"
# Parse from content
{:ok, card} = HfHub.Cards.parse_model_card(readme_content)
# Create and render cards
card = HfHub.Cards.create_model_card(%{
language: "en",
license: "mit",
tags: ["text-classification"]
})
markdown = HfHub.Cards.render(card)
Summary
Functions
Creates a dataset card from data.
Creates a model card from data.
Loads a dataset card from a repository.
Loads a model card from a repository.
Parses a dataset card from markdown content.
Parses a model card from markdown content.
Renders a card to markdown string with YAML frontmatter.
Functions
@spec create_dataset_card(map() | keyword()) :: HfHub.Cards.DatasetCard.t()
Creates a dataset card from data.
Arguments
data- Map or keyword list with card data fields
Examples
card = HfHub.Cards.create_dataset_card(%{
language: "en",
license: "cc-by-4.0",
task_categories: ["question-answering"]
})
@spec create_model_card(map() | keyword()) :: HfHub.Cards.ModelCard.t()
Creates a model card from data.
Arguments
data- Map or keyword list with card data fields
Examples
card = HfHub.Cards.create_model_card(%{
language: "en",
license: "mit",
tags: ["text-classification"]
})
@spec load_dataset_card( String.t(), keyword() ) :: {:ok, HfHub.Cards.DatasetCard.t()} | {:error, term()}
Loads a dataset card from a repository.
Downloads the README.md file and parses its frontmatter and content.
Arguments
repo_id- Dataset repository ID (e.g., "squad")
Options
:revision- Git revision. Defaults to"main".:token- Authentication token.:cache_dir- Local cache directory.
Examples
{:ok, card} = HfHub.Cards.load_dataset_card("squad")
card.data.task_categories # ["question-answering"]
@spec load_model_card( String.t(), keyword() ) :: {:ok, HfHub.Cards.ModelCard.t()} | {:error, term()}
Loads a model card from a repository.
Downloads the README.md file and parses its frontmatter and content.
Arguments
repo_id- Repository ID (e.g., "bert-base-uncased")
Options
:revision- Git revision. Defaults to"main".:token- Authentication token.:cache_dir- Local cache directory.
Examples
{:ok, card} = HfHub.Cards.load_model_card("bert-base-uncased")
card.data.license # "apache-2.0"
card.data.tags # ["pytorch", "bert", "fill-mask"]
@spec parse_dataset_card(String.t()) :: {:ok, HfHub.Cards.DatasetCard.t()} | {:error, term()}
Parses a dataset card from markdown content.
Extracts YAML frontmatter and remaining markdown content.
Arguments
content- Raw markdown content with optional YAML frontmatter
Examples
{:ok, card} = HfHub.Cards.parse_dataset_card(content)
card.data.task_categories # ["question-answering"]
@spec parse_model_card(String.t()) :: {:ok, HfHub.Cards.ModelCard.t()} | {:error, term()}
Parses a model card from markdown content.
Extracts YAML frontmatter and remaining markdown content.
Arguments
content- Raw markdown content with optional YAML frontmatter
Examples
content = """
---
license: mit
tags:
- bert
---
# My Model
"""
{:ok, card} = HfHub.Cards.parse_model_card(content)
card.data.license # "mit"
card.content # "# My Model"
@spec render(HfHub.Cards.ModelCard.t() | HfHub.Cards.DatasetCard.t()) :: String.t()
Renders a card to markdown string with YAML frontmatter.
Arguments
card- A ModelCard or DatasetCard struct
Examples
card = HfHub.Cards.create_model_card(%{license: "mit"})
markdown = HfHub.Cards.render(card)
# => """
# ---
# license: "mit"
# ---
#
# """