HfHub.Users (HfHub v0.2.0)

Copy Markdown View Source

User profile and activity API.

Provides functions to interact with HuggingFace Hub user profiles, followers/following relationships, and repository likes.

Examples

# Get user profile
{:ok, user} = HfHub.Users.get("username")
IO.inspect(user.num_followers)

# List followers
{:ok, followers} = HfHub.Users.list_followers("username")

# Like/unlike repos
:ok = HfHub.Users.like("bert-base-uncased")
:ok = HfHub.Users.unlike("bert-base-uncased")

Summary

Functions

Gets a user's public profile.

Likes a repository.

Lists users who follow a user.

Lists users a user is following.

Lists repositories liked by a user.

Lists users who liked a repository.

Unlikes a repository.

Functions

get(username, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: {:ok, HfHub.Users.User.t()} | {:error, term()}

Gets a user's public profile.

Arguments

  • username - The HuggingFace username

Options

  • :token - Authentication token

Examples

{:ok, user} = HfHub.Users.get("julien-c")
IO.inspect(user.username)   # "julien-c"
IO.inspect(user.fullname)   # "Julien Chaumond"

like(repo_id, opts \\ [])

@spec like(
  String.t(),
  keyword()
) :: :ok | {:error, term()}

Likes a repository.

Requires authentication.

Arguments

  • repo_id - Repository ID (e.g., "bert-base-uncased")

Options

  • :token - Authentication token. If not provided, uses configured token.
  • :repo_type - Type of repository (:model, :dataset, :space). Defaults to :model.

Examples

:ok = HfHub.Users.like("bert-base-uncased")
:ok = HfHub.Users.like("squad", repo_type: :dataset)

list_followers(username, opts \\ [])

@spec list_followers(
  String.t(),
  keyword()
) :: {:ok, [HfHub.Users.User.t()]} | {:error, term()}

Lists users who follow a user.

Arguments

  • username - The HuggingFace username

Options

  • :token - Authentication token

Examples

{:ok, followers} = HfHub.Users.list_followers("julien-c")
Enum.each(followers, &IO.inspect(&1.username))

list_following(username, opts \\ [])

@spec list_following(
  String.t(),
  keyword()
) :: {:ok, [HfHub.Users.User.t()]} | {:error, term()}

Lists users a user is following.

Arguments

  • username - The HuggingFace username

Options

  • :token - Authentication token

Examples

{:ok, following} = HfHub.Users.list_following("julien-c")

list_liked_repos(username, opts \\ [])

@spec list_liked_repos(
  String.t(),
  keyword()
) :: {:ok, [map()]} | {:error, term()}

Lists repositories liked by a user.

Arguments

  • username - The HuggingFace username

Options

  • :token - Authentication token

Examples

{:ok, liked} = HfHub.Users.list_liked_repos("julien-c")

list_likers(repo_id, opts \\ [])

@spec list_likers(
  String.t(),
  keyword()
) :: {:ok, [HfHub.Users.User.t()]} | {:error, term()}

Lists users who liked a repository.

Arguments

  • repo_id - Repository ID (e.g., "bert-base-uncased")

Options

  • :token - Authentication token
  • :repo_type - Type of repository (:model, :dataset, :space). Defaults to :model.

Examples

{:ok, likers} = HfHub.Users.list_likers("bert-base-uncased")

unlike(repo_id, opts \\ [])

@spec unlike(
  String.t(),
  keyword()
) :: :ok | {:error, term()}

Unlikes a repository.

Requires authentication.

Arguments

  • repo_id - Repository ID (e.g., "bert-base-uncased")

Options

  • :token - Authentication token. If not provided, uses configured token.
  • :repo_type - Type of repository (:model, :dataset, :space). Defaults to :model.

Examples

:ok = HfHub.Users.unlike("bert-base-uncased")