Skip to content

hopsworks.core.env_var_api #

EnvVarsApi #

Manage user account environment variables in Hopsworks.

Account env vars are encrypted at rest and automatically injected into every runtime the user starts (jobs, deployments, apps, Jupyter, terminal). Per-runtime env vars override account-level on collision.

Example
import hopsworks
hopsworks.login()
api = hopsworks.get_env_vars_api()

api.create_env_var("OPENAI_API_KEY", "sk-...")
api.create_env_var("HF_TOKEN", "hf_...")

# Print only names — values are typically credentials, don't log them.
for v in api.get_env_vars():
    print(v.name)

api.delete_env_var("OPENAI_API_KEY")

create_env_var #

create_env_var(name: str, value: str) -> env_var.EnvVar

Add a new account-level env var.

Example
api.create_env_var("OPENAI_API_KEY", "sk-...")
PARAMETER DESCRIPTION
name

Variable name. Must match ^[A-Za-z_][A-Za-z0-9_]*$ and not be reserved by the platform (API_KEY, HOPS_*, HOPSWORKS_*, etc — see ReservedEnvVars in the backend).

TYPE: str

value

Variable value. Up to 8192 characters.

TYPE: str

RETURNS DESCRIPTION
env_var.EnvVar

The created EnvVar.

RAISES DESCRIPTION
hopsworks.client.exceptions.RestAPIError

ENV_VAR_RESERVED_NAME, ENV_VAR_INVALID_NAME, ENV_VAR_VALUE_TOO_LARGE, or ENV_VAR_LIMIT_EXCEEDED (default cap is 64 vars per user).

delete #

delete(name: str) -> None

Alias for delete_env_var.

Kept for parity with SecretsApi.delete. New code should prefer delete_env_var.

PARAMETER DESCRIPTION
name

Variable name to remove.

TYPE: str

delete_all #

delete_all() -> None

Remove all account-level env vars for the authenticated user.

Returns silently if there are none.

Example
api.delete_all()
assert api.get_env_vars() == []

delete_env_var #

delete_env_var(name: str) -> None

Remove a single env var from the account.

Example
api.delete_env_var("OPENAI_API_KEY")
PARAMETER DESCRIPTION
name

Variable name to remove.

TYPE: str

RAISES DESCRIPTION
hopsworks.client.exceptions.RestAPIError

ENV_VAR_NOT_FOUND if no env var with that name exists.

get #

get(name: str) -> str | None

Return just the value of an env var, or None if missing.

Convenience wrapper around get_env_var.

Example
api.get("OPENAI_API_KEY")  # -> "sk-..." or None
PARAMETER DESCRIPTION
name

Variable name.

TYPE: str

RETURNS DESCRIPTION
str | None

The env var's value, or None when no var with that name exists.

get_env_var #

get_env_var(name: str) -> env_var.EnvVar | None

Look up a single env var by name.

Returns None when no env var with that name exists, instead of raising — convenient for "set if missing" patterns.

PARAMETER DESCRIPTION
name

Variable name (e.g. "OPENAI_API_KEY").

TYPE: str

RETURNS DESCRIPTION
env_var.EnvVar | None

The matching EnvVar, or None.

get_env_vars #

get_env_vars(
    include_value: bool = True,
) -> list[env_var.EnvVar]

Return all account-level env vars for the authenticated user.

The backend omits values from the list response by default to reduce accidental exposure (UI, logs, proxies). The SDK opts back in here so existing callers see EnvVar.value populated; pass include_value=False if you only need names (e.g. building a UI list before drilling into a single var).

PARAMETER DESCRIPTION
include_value

When False, the returned EnvVars have no value set. Default True preserves the existing behavior.

TYPE: bool DEFAULT: True

RETURNS DESCRIPTION
list[env_var.EnvVar]

List of EnvVar objects, possibly empty.

set_env_var #

set_env_var(name: str, value: str) -> env_var.EnvVar

Upsert: create the env var if missing, else update its value.

Example
# Idempotent — safe to call from setup scripts
api.set_env_var("HF_TOKEN", os.environ["HF_TOKEN"])
PARAMETER DESCRIPTION
name

Variable name.

TYPE: str

value

Variable value.

TYPE: str

RETURNS DESCRIPTION
env_var.EnvVar

The created or updated EnvVar.

update_env_var #

update_env_var(name: str, value: str) -> env_var.EnvVar

Replace the value of an existing env var.

Use set_env_var to upsert (create-if-missing) instead.

PARAMETER DESCRIPTION
name

Variable name. Must already exist.

TYPE: str

value

New value. Up to 8192 characters.

TYPE: str

RETURNS DESCRIPTION
env_var.EnvVar

The updated EnvVar.

RAISES DESCRIPTION
hopsworks.client.exceptions.RestAPIError

ENV_VAR_NOT_FOUND if no env var with that name exists.