HfHub.AccessRequests (HfHub v0.2.0)

Copy Markdown View Source

Access request management for gated repositories.

This module provides functions to manage user access requests for gated models, datasets, and spaces on HuggingFace Hub.

Examples

# List pending access requests
{:ok, requests} = HfHub.AccessRequests.list_pending("my-gated-model")

# Accept a request
:ok = HfHub.AccessRequests.accept("my-gated-model", "username")

# Grant access directly (without prior request)
:ok = HfHub.AccessRequests.grant("my-gated-model", "username")

Summary

Functions

Accepts a pending access request.

Cancels/revokes an access request or grant.

Grants access directly without a prior request.

Lists accepted access requests for a repository.

Lists pending access requests for a repository.

Lists rejected access requests for a repository.

Rejects a pending access request.

Types

repo_type()

@type repo_type() :: :model | :dataset | :space

status()

@type status() :: :pending | :accepted | :rejected

Functions

accept(repo_id, user, opts \\ [])

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

Accepts a pending access request.

Options

  • :token - Authentication token (required)
  • :repo_type - Repository type (default: :model)

Examples

:ok = HfHub.AccessRequests.accept("my-gated-model", "username")

cancel(repo_id, user, opts \\ [])

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

Cancels/revokes an access request or grant.

This removes the user's access completely.

Options

  • :token - Authentication token (required)
  • :repo_type - Repository type (default: :model)

Examples

:ok = HfHub.AccessRequests.cancel("my-gated-model", "username")

grant(repo_id, user, opts \\ [])

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

Grants access directly without a prior request.

Use for proactive access grants to specific users.

Options

  • :token - Authentication token (required)
  • :repo_type - Repository type (default: :model)

Examples

:ok = HfHub.AccessRequests.grant("my-gated-model", "username")

list_accepted(repo_id, opts \\ [])

@spec list_accepted(
  String.t(),
  keyword()
) :: {:ok, [HfHub.AccessRequests.AccessRequest.t()]} | {:error, term()}

Lists accepted access requests for a repository.

Options

  • :token - Authentication token
  • :repo_type - Repository type (default: :model)

Examples

{:ok, requests} = HfHub.AccessRequests.list_accepted("my-gated-model")

list_pending(repo_id, opts \\ [])

@spec list_pending(
  String.t(),
  keyword()
) :: {:ok, [HfHub.AccessRequests.AccessRequest.t()]} | {:error, term()}

Lists pending access requests for a repository.

Options

  • :token - Authentication token
  • :repo_type - Repository type (default: :model)

Examples

{:ok, requests} = HfHub.AccessRequests.list_pending("my-gated-model")

list_rejected(repo_id, opts \\ [])

@spec list_rejected(
  String.t(),
  keyword()
) :: {:ok, [HfHub.AccessRequests.AccessRequest.t()]} | {:error, term()}

Lists rejected access requests for a repository.

Options

  • :token - Authentication token
  • :repo_type - Repository type (default: :model)

Examples

{:ok, requests} = HfHub.AccessRequests.list_rejected("my-gated-model")

reject(repo_id, user, opts \\ [])

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

Rejects a pending access request.

Options

  • :token - Authentication token (required)
  • :repo_type - Repository type (default: :model)

Examples

:ok = HfHub.AccessRequests.reject("my-gated-model", "username")