Authentication
The huggingface_hub
library allows users to programmatically manage authentication to the Hub. This includes logging in, logging out, switching between tokens, and listing available tokens.
For more details about authentication, check out this section.
login
huggingface_hub.login
< source >( token: typing.Optional[str] = None add_to_git_credential: bool = False new_session: bool = True write_permission: bool = False )
Parameters
- token (
str
, optional) — User access token to generate from https://huggingface.co/settings/token. - add_to_git_credential (
bool
, defaults toFalse
) — IfTrue
, token will be set as git credential. If no git credential helper is configured, a warning will be displayed to the user. Iftoken
isNone
, the value ofadd_to_git_credential
is ignored and will be prompted again to the end user. - new_session (
bool
, defaults toTrue
) — IfTrue
, will request a token even if one is already saved on the machine. - write_permission (
bool
, defaults toFalse
) — IfTrue
, requires a token with write permission.
Raises
ValueError
or ImportError
ValueError
β If an organization token is passed. Only personal account tokens are valid to log in.ValueError
β If token is invalid.ImportError
β If running in a notebook butipywidgets
is not installed.
Login the machine to access the Hub.
The token
is persisted in cache and set as a git credential. Once done, the machine
is logged in and the access token will be available across all huggingface_hub
components. If token
is not provided, it will be prompted to the user either with
a widget (in a notebook) or via the terminal.
To log in from outside of a script, one can also use huggingface-cli login
which is
a cli command that wraps login().
login() is a drop-in replacement method for notebook_login() as it wraps and extends its capabilities.
When the token is not passed, login() will automatically detect if the script runs in a notebook or not. However, this detection might not be accurate due to the variety of notebooks that exists nowadays. If that is the case, you can always force the UI by using notebook_login() or interpreter_login().
interpreter_login
huggingface_hub.interpreter_login
< source >( new_session: bool = True write_permission: bool = False )
Displays a prompt to log in to the HF website and store the token.
This is equivalent to login() without passing a token when not run in a notebook. interpreter_login() is useful if you want to force the use of the terminal prompt instead of a notebook widget.
For more details, see login().
notebook_login
huggingface_hub.notebook_login
< source >( new_session: bool = True write_permission: bool = False )
Displays a widget to log in to the HF website and store the token.
This is equivalent to login() without passing a token when run in a notebook. notebook_login() is useful if you want to force the use of the notebook widget instead of a prompt in the terminal.
For more details, see login().
logout
huggingface_hub.logout
< source >( token_name: typing.Optional[str] = None )
Parameters
- token_name (
str
, optional) — Name of the access token to logout from. IfNone
, will logout from all saved access tokens.
Raises
ValueError
ValueError
β If the access token name is not found.
Logout the machine from the Hub.
Token is deleted from the machine and removed from git credential.
auth_switch
huggingface_hub.auth_switch
< source >( token_name: str add_to_git_credential: bool = False )
Parameters
- token_name (
str
) — Name of the access token to switch to. - add_to_git_credential (
bool
, defaults toFalse
) — IfTrue
, token will be set as git credential. If no git credential helper is configured, a warning will be displayed to the user. Iftoken
isNone
, the value ofadd_to_git_credential
is ignored and will be prompted again to the end user.
Raises
ValueError
ValueError
β If the access token name is not found.
Switch to a different access token.
auth_list
List all stored access tokens.