Huggingface.js documentation

@huggingface/hub

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

@huggingface/hub

Classes

Interfaces

Type Aliases

AccessToken

Ƭ AccessToken: string

Actually hf_${string}, but for convenience, using the string type

Defined in

hub/src/types/public.ts:15


AccessTokenRole

Ƭ AccessTokenRole: "admin" | "write" | "contributor" | "read"

Defined in

hub/src/types/public.ts:70


AuthType

Ƭ AuthType: "access_token" | "app_token" | "app_token_as_user"

Defined in

hub/src/types/public.ts:72


CommitOperation

Ƭ CommitOperation: CommitDeletedEntry | CommitFile

Defined in

hub/src/lib/commit.ts:54


CommitParams

Ƭ CommitParams: { abortSignal?: AbortSignal ; branch?: string ; description?: string ; fetch?: typeof fetch ; hubUrl?: string ; isPullRequest?: boolean ; operations: CommitOperation[] ; parentCommit?: string ; repo: RepoDesignation ; title: string ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } } & Partial\<CredentialsParams>

Defined in

hub/src/lib/commit.ts:57


CommitProgressEvent

Ƭ CommitProgressEvent: { event: "phase" ; phase: "preuploading" | "uploadingLargeFiles" | "committing" } | { event: "fileProgress" ; path: string ; progress: number ; state: "hashing" | "uploading" }

Defined in

hub/src/lib/commit.ts:106


ContentSource

Ƭ ContentSource: Blob | URL

Defined in

hub/src/lib/commit.ts:35


Dtype

Ƭ Dtype: "F64" | "F32" | "F16" | "BF16" | "I64" | "I32" | "I16" | "I8" | "U8" | "BOOL"

Defined in

hub/src/lib/parse-safetensors-metadata.ts:45


PipelineType

Ƭ PipelineType: keyof typeof PIPELINE_DATA

Defined in

tasks/dist/src/pipelines.d.ts:420


RepoDesignation

Ƭ RepoDesignation: RepoId | RepoFullName

Defined in

hub/src/types/public.ts:12


RepoFullName

Ƭ RepoFullName: string | `spaces/${string}` | `datasets/${string}`

Defined in

hub/src/types/public.ts:10


RepoType

Ƭ RepoType: "space" | "dataset" | "model"

Defined in

hub/src/types/public.ts:3


SafetensorsFileHeader

Ƭ SafetensorsFileHeader: Record\<TensorName, TensorInfo> & { __metadata__: Record\<string, string> }

Defined in

hub/src/lib/parse-safetensors-metadata.ts:53


SafetensorsParseFromRepo

Ƭ SafetensorsParseFromRepo: { header: SafetensorsFileHeader ; parameterCount?: Partial\<Record\<Dtype, number>> ; sharded: false } | { headers: SafetensorsShardedHeaders ; index: SafetensorsIndexJson ; parameterCount?: Partial\<Record\<Dtype, number>> ; sharded: true }

Defined in

hub/src/lib/parse-safetensors-metadata.ts:67


SafetensorsShardedHeaders

Ƭ SafetensorsShardedHeaders: Record\<FileName, SafetensorsFileHeader>

Defined in

hub/src/lib/parse-safetensors-metadata.ts:65


SpaceHardwareFlavor

Ƭ SpaceHardwareFlavor: "cpu-basic" | "cpu-upgrade" | "t4-small" | "t4-medium" | "l4x1" | "l4x4" | "a10g-small" | "a10g-large" | "a10g-largex2" | "a10g-largex4" | "a100-large" | "v5e-1x1" | "v5e-2x2" | "v5e-2x4"

Defined in

hub/src/types/public.ts:40


SpaceSdk

Ƭ SpaceSdk: "streamlit" | "gradio" | "docker" | "static"

Defined in

hub/src/types/public.ts:56


SpaceStage

Ƭ SpaceStage: "NO_APP_FILE" | "CONFIG_ERROR" | "BUILDING" | "BUILD_ERROR" | "RUNNING" | "RUNNING_BUILDING" | "RUNTIME_ERROR" | "DELETING" | "PAUSED" | "SLEEPING"

Defined in

hub/src/types/public.ts:58


TensorName

Ƭ TensorName: string

Defined in

hub/src/lib/parse-safetensors-metadata.ts:44


WhoAmI

Ƭ WhoAmI: WhoAmIApp | WhoAmIOrg | WhoAmIUser

Defined in

hub/src/lib/who-am-i.ts:50

Variables

RE _ SAFETENSORS _ FILE

Const RE_SAFETENSORS_FILE: RegExp

Defined in

hub/src/lib/parse-safetensors-metadata.ts:14


RE _ SAFETENSORS _ INDEX _ FILE

Const RE_SAFETENSORS_INDEX_FILE: RegExp

Defined in

hub/src/lib/parse-safetensors-metadata.ts:15


RE _ SAFETENSORS _ SHARD _ FILE

Const RE_SAFETENSORS_SHARD_FILE: RegExp

Defined in

hub/src/lib/parse-safetensors-metadata.ts:16


SAFETENSORS _ FILE

Const SAFETENSORS_FILE: "model.safetensors"

Defined in

hub/src/lib/parse-safetensors-metadata.ts:10


SAFETENSORS _ INDEX _ FILE

Const SAFETENSORS_INDEX_FILE: "model.safetensors.index.json"

Defined in

hub/src/lib/parse-safetensors-metadata.ts:11

Functions

_ _ internal _ sha256

__internal_sha256(buffer, opts?): AsyncGenerator\<number, string>

Parameters

Name Type
buffer Blob
opts? Object
opts.abortSignal? AbortSignal
opts.useWebWorker? boolean | { minSize?: number ; poolSize?: number }

Returns

AsyncGenerator\<number, string>

hex-encoded sha

Yields

progress (0-1)

Defined in

hub/src/utils/sha256.ts:72


commit

commit(params): Promise\<CommitOutput>

Parameters

Name Type
params CommitParams

Returns

Promise\<CommitOutput>

Defined in

hub/src/lib/commit.ts:553


commitIter

commitIter(params): AsyncGenerator\<CommitProgressEvent, CommitOutput>

Internal function for now, used by commit.

Can be exposed later to offer fine-tuned progress info

Parameters

Name Type
params CommitParams

Returns

AsyncGenerator\<CommitProgressEvent, CommitOutput>

Defined in

hub/src/lib/commit.ts:123


countCommits

countCommits(params): Promise\<number>

Parameters

Name Type
params { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

Promise\<number>

Defined in

hub/src/lib/count-commits.ts:7


createRepo

createRepo(params): Promise\<{ repoUrl: string }>

Parameters

Name Type
params { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; files?: { content: ArrayBuffer | Blob ; path: string }[] ; hubUrl?: string ; license?: string ; private?: boolean ; repo: RepoDesignation ; sdk?: SpaceSdk | undefined } & CredentialsParams

Returns

Promise\<{ repoUrl: string }>

Defined in

hub/src/lib/create-repo.ts:9


deleteFile

deleteFile(params): Promise\<CommitOutput>

Parameters

Name Type
params { branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; path: string ; repo: RepoDesignation } & CredentialsParams

Returns

Promise\<CommitOutput>

Defined in

hub/src/lib/delete-file.ts:5


deleteFiles

deleteFiles(params): Promise\<CommitOutput>

Parameters

Name Type
params { branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; paths: string[] ; repo: RepoDesignation } & CredentialsParams

Returns

Promise\<CommitOutput>

Defined in

hub/src/lib/delete-files.ts:5


deleteRepo

deleteRepo(params): Promise\<void>

Parameters

Name Type
params { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; repo: RepoDesignation } & CredentialsParams

Returns

Promise\<void>

Defined in

hub/src/lib/delete-repo.ts:7


downloadFile

downloadFile(params): Promise\<Response | null>

Parameters

Name Type
params { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; path: string ; range?: [number, number] ; raw?: boolean ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

Promise\<Response | null>

null when the file doesn’t exist

Defined in

hub/src/lib/download-file.ts:10


fileDownloadInfo

fileDownloadInfo(params): Promise\<FileDownloadInfoOutput | null>

Parameters

Name Type
params { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; noContentDisposition?: boolean ; path: string ; raw?: boolean ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

Promise\<FileDownloadInfoOutput | null>

null when the file doesn’t exist

Defined in

hub/src/lib/file-download-info.ts:18


fileExists

fileExists(params): Promise\<boolean>

Parameters

Name Type
params { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; path: string ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

Promise\<boolean>

Defined in

hub/src/lib/file-exists.ts:7


getBlobStat

getBlobStat(blobPath, blobStats): Promise\<Stats>

Parameters

Name Type
blobPath string
blobStats Map\<string, Stats>

Returns

Promise\<Stats>

Defined in

hub/src/lib/cache-management.ts:237


listCommits

listCommits(params): AsyncGenerator\<CommitData>

Parameters

Name Type
params { batchSize?: number ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

AsyncGenerator\<CommitData>

Defined in

hub/src/lib/list-commits.ts:17


listDatasets

listDatasets\<T>(params?): AsyncGenerator\<DatasetEntry & Pick\<ApiDatasetInfo, T>>

Type parameters

Name Type
T extends "description" | "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "paperswithcode_id" | "sha" | "citation" | "downloadsAllTime" = never

Parameters

Name Type
params? { search?: { query?: string | undefined; owner?: string | undefined; tags?: string[] | undefined; } | undefined; hubUrl?: string | undefined; additionalFields?: T[] | undefined; limit?: number | undefined; fetch?: { …; } | undefined; } & Partial\<…>

Returns

AsyncGenerator\<DatasetEntry & Pick\<ApiDatasetInfo, T>>

Defined in

hub/src/lib/list-datasets.ts:47


listFiles

listFiles(params): AsyncGenerator\<ListFileEntry>

List files in a folder. To list ALL files in the directory, call it with params.recursive set to true.

Parameters

Name Type
params { expand?: boolean ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; path?: string ; recursive?: boolean ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

AsyncGenerator\<ListFileEntry>

Defined in

hub/src/lib/list-files.ts:38


listModels

listModels\<T>(params?): AsyncGenerator\<ModelEntry & Pick\<ApiModelInfo, T>>

Type parameters

Name Type
T extends "spaces" | "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "sha" | "downloadsAllTime" | "config" | "library_name" | "model-index" | "safetensors" | "transformersInfo" = never

Parameters

Name Type
params? { search?: { query?: string | undefined; owner?: string | undefined; task?: “other” | “text-classification” | “token-classification” | “table-question-answering” | “question-answering” | … 47 more … | undefined; tags?: string[] | undefined; } | undefined; hubUrl?: string | undefined; additionalFields?: T[] | und…

Returns

AsyncGenerator\<ModelEntry & Pick\<ApiModelInfo, T>>

Defined in

hub/src/lib/list-models.ts:53


listSpaces

listSpaces\<T>(params?): AsyncGenerator\<SpaceEntry & Pick\<ApiSpaceInfo, T>>

Type parameters

Name Type
T extends "models" | "datasets" | "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "sha" | "subdomain" | "runtime" = never

Parameters

Name Type
params? { search?: { query?: string | undefined; owner?: string | undefined; tags?: string[] | undefined; } | undefined; hubUrl?: string | undefined; fetch?: { (input: URL | RequestInfo, init?: RequestInit | undefined): Promise\<…>; (input: string | … 1 more … | Request, init?: RequestInit | undefined): Promise\<…>; }…

Returns

AsyncGenerator\<SpaceEntry & Pick\<ApiSpaceInfo, T>>

Defined in

hub/src/lib/list-spaces.ts:39


oauthHandleRedirect

oauthHandleRedirect(opts?): Promise\<OAuthResult>

To call after the OAuth provider redirects back to the app.

There is also a helper function oauthHandleRedirectIfPresent, which will call oauthHandleRedirect if the URL contains an oauth code in the query parameters and return false otherwise.

Parameters

Name Type
opts? Object
opts.hubUrl? string

Returns

Promise\<OAuthResult>

Defined in

hub/src/lib/oauth-handle-redirect.ts:42


oauthHandleRedirectIfPresent

oauthHandleRedirectIfPresent(opts?): Promise\<OAuthResult | false>

To call after the OAuth provider redirects back to the app.

It returns false if the URL does not contain an oauth code in the query parameters, otherwise it calls oauthHandleRedirect.

Depending on your app, you may want to call oauthHandleRedirect directly instead.

Parameters

Name Type
opts? Object
opts.hubUrl? string

Returns

Promise\<OAuthResult | false>

Defined in

hub/src/lib/oauth-handle-redirect.ts:210


oauthLoginUrl

oauthLoginUrl(opts?): Promise\<string>

Use “Sign in with Hub” to authenticate a user, and get oauth user info / access token.

Returns an url to redirect to. After the user is redirected back to your app, call oauthHandleRedirect to get the oauth user info / access token.

When called from inside a static Space with OAuth enabled, it will load the config from the space, otherwise you need to at least specify the client ID of your OAuth App.

Parameters

Name Type Description
opts? Object -
opts.clientId? string OAuth client ID. For static Spaces, you can omit this and it will be loaded from the Space config, as long as hf_oauth: true is present in the README.md’s metadata. For other Spaces, it is available to the backend in the OAUTH_CLIENT_ID environment variable, as long as hf_oauth: true is present in the README.md’s metadata. You can also create a Developer Application at https://huggingface.co/settings/connected-applications and use its client ID.
opts.hubUrl? string -
opts.redirectUrl? string Redirect URI, defaults to the current URL. For Spaces, any URL within the Space is allowed. For Developer Applications, you can add any URL you want to the list of allowed redirect URIs at https://huggingface.co/settings/connected-applications.
opts.scopes? string OAuth scope, a list of space separate scopes. For static Spaces, you can omit this and it will be loaded from the Space config, as long as hf_oauth: true is present in the README.md’s metadata. For other Spaces, it is available to the backend in the OAUTH_SCOPES environment variable, as long as hf_oauth: true is present in the README.md’s metadata. Defaults to “openid profile”. You can also create a Developer Application at https://huggingface.co/settings/connected-applications and use its scopes. See https://huggingface.co/docs/hub/oauth for a list of available scopes.
opts.state? string State to pass to the OAuth provider, which will be returned in the call to oauthLogin after the redirect.

Returns

Promise\<string>

Example

import { oauthLoginUrl, oauthHandleRedirectIfPresent } from "@huggingface/hub";

const oauthResult = await oauthHandleRedirectIfPresent();

if (!oauthResult) {
  // If the user is not logged in, redirect to the login page
  window.location.href = await oauthLoginUrl();
}

// You can use oauthResult.accessToken, oauthResult.accessTokenExpiresAt and oauthResult.userInfo
console.log(oauthResult);

(Theoretically, this function could be used to authenticate a user for any OAuth provider supporting PKCE and OpenID Connect by changing hubUrl, but it is currently only tested with the Hugging Face Hub.)

Defined in

hub/src/lib/oauth-login-url.ts:31


parseRepoType

parseRepoType(type): RepoType

Parameters

Name Type
type string

Returns

RepoType

Defined in

hub/src/lib/cache-management.ts:247


parseSafetensorsMetadata

parseSafetensorsMetadata(params): Promise\<SetRequired\<SafetensorsParseFromRepo, "parameterCount">>

Analyze model.safetensors.index.json or model.safetensors from a model hosted on Hugging Face using smart range requests to extract its metadata.

Parameters

Name Type
params { computeParametersCount: true ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; path?: string ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

Promise\<SetRequired\<SafetensorsParseFromRepo, "parameterCount">>

Defined in

hub/src/lib/parse-safetensors-metadata.ts:177

parseSafetensorsMetadata(params): Promise\<SafetensorsParseFromRepo>

Parameters

Name Type
params { computeParametersCount?: boolean ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string ; path?: string ; repo: RepoDesignation ; revision?: string } & Partial\<CredentialsParams>

Returns

Promise\<SafetensorsParseFromRepo>

Defined in

hub/src/lib/parse-safetensors-metadata.ts:199


parseSafetensorsShardFilename

parseSafetensorsShardFilename(filename): SafetensorsShardFileInfo | null

Parameters

Name Type
filename string

Returns

SafetensorsShardFileInfo | null

Defined in

hub/src/lib/parse-safetensors-metadata.ts:24


scanCacheDir

scanCacheDir(cacheDir?): Promise\<HFCacheInfo>

Parameters

Name Type Default value
cacheDir undefined | string undefined

Returns

Promise\<HFCacheInfo>

Defined in

hub/src/lib/cache-management.ts:65


scanCachedRepo

scanCachedRepo(repoPath): Promise\<CachedRepoInfo>

Parameters

Name Type
repoPath string

Returns

Promise\<CachedRepoInfo>

Defined in

hub/src/lib/cache-management.ts:107


scanRefsDir

scanRefsDir(refsPath, refsByHash): Promise\<void>

Parameters

Name Type
refsPath string
refsByHash Map\<string, string[]>

Returns

Promise\<void>

Defined in

hub/src/lib/cache-management.ts:197


scanSnapshotDir

scanSnapshotDir(revisionPath, cachedFiles, blobStats): Promise\<void>

Parameters

Name Type
revisionPath string
cachedFiles CachedFileInfo[]
blobStats Map\<string, Stats>

Returns

Promise\<void>

Defined in

hub/src/lib/cache-management.ts:212


uploadFile

uploadFile(params): Promise\<CommitOutput>

Parameters

Name Type
params { abortSignal?: AbortSignal ; branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; file: URL | File | { content: ContentSource ; path: string } ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; repo: RepoDesignation ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } } & Partial\<CredentialsParams>

Returns

Promise\<CommitOutput>

Defined in

hub/src/lib/upload-file.ts:5


uploadFiles

uploadFiles(params): Promise\<CommitOutput>

Parameters

Name Type
params { abortSignal?: AbortSignal ; branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; files: (URL | File | { content: ContentSource ; path: string })[] ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; repo: RepoDesignation ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } } & Partial\<CredentialsParams>

Returns

Promise\<CommitOutput>

Defined in

hub/src/lib/upload-files.ts:5


uploadFilesWithProgress

uploadFilesWithProgress(params): AsyncGenerator\<CommitProgressEvent, CommitOutput>

Uploads with progress

Needs XMLHttpRequest to be available for progress events for uploads Set useWebWorkers to true in order to have progress events for hashing

Parameters

Name Type
params { abortSignal?: AbortSignal ; branch?: string ; commitDescription?: string ; commitTitle?: string ; files: (URL | File | { content: ContentSource ; path: string })[] ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; repo: RepoDesignation ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } } & Partial\<CredentialsParams>

Returns

AsyncGenerator\<CommitProgressEvent, CommitOutput>

Defined in

hub/src/lib/upload-files-with-progress.ts:20


whoAmI

whoAmI(params): Promise\<WhoAmI & { auth: AuthInfo }>

Parameters

Name Type
params { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise\<Response>(input: string | URL | Request, init?: RequestInit) => Promise\<Response> ; hubUrl?: string } & CredentialsParams

Returns

Promise\<WhoAmI & { auth: AuthInfo }>

Defined in

hub/src/lib/who-am-i.ts:61

< > Update on GitHub