cu.env: runtime and secrets

Runtime information, version checks, and secrets (API keys) loading.

Secrets

colabutilscs4337.env.load_secrets(*names, env_file=None, prompt=False, required=False, overwrite=False, verbose=True)[source]

Put secrets into os.environ so libraries (Hugging Face, W&B, Kaggle) find them.

With no names, every entry of the .env file is loaded. Returns {name: source} where source is where it was found (None if missing). Prints a short found/missing summary, never the values.

Examples:

cu.env.load_secrets("HF_TOKEN", "WANDB_API_KEY")
cu.env.load_secrets("KAGGLE_USERNAME", "KAGGLE_KEY", required=True)
cu.env.load_secrets(env_file="/content/drive/MyDrive/keys.env")   # load a whole file
cu.env.load_secrets("OPENAI_API_KEY", prompt=True)                 # ask if missing
Parameters:
  • names (str)

  • env_file (str | PathLike | None)

  • prompt (bool)

  • required (bool)

  • overwrite (bool)

  • verbose (bool)

Return type:

dict[str, str | None]

colabutilscs4337.env.get_secret(name, default=None, *, prompt=False, env_file=None)[source]

Return one secret’s value (does not modify os.environ).

Example:

token = cu.env.get_secret("HF_TOKEN")
key = cu.env.get_secret("OPENAI_API_KEY", prompt=True)  # asks if not found
Parameters:
  • name (str)

  • default (str | None)

  • prompt (bool)

  • env_file (str | PathLike | None)

Return type:

str | None

colabutilscs4337.env.read_env_file(path)[source]

Parse a .env file (NAME=value lines; # comments, quotes, export ok).

Parameters:

path (str | PathLike)

Return type:

dict[str, str]

exception colabutilscs4337.env.MissingSecretError[source]

Bases: KeyError

Runtime

colabutilscs4337.env.check(verbose=True)[source]

Compare installed versions with the Colab runtime this package was tested on.

Only warns; never raises. different usually means Colab updated its runtime since this release, or the notebook is pinned to an older runtime version.

Parameters:

verbose (bool)

Return type:

list[Row]

colabutilscs4337.env.runtime_info()[source]

Snapshot of the runtime: Colab or not, Python, OS, GPU, and package versions.

Return type:

dict

colabutilscs4337.env.is_colab()[source]
Return type:

bool

colabutilscs4337.env.notebook_name(default='untitled')[source]
Parameters:

default (str)

Return type:

str

colabutilscs4337.env.gpu_info()[source]

GPU names and memory from nvidia-smi (no torch import needed).

Return type:

list[str]

colabutilscs4337.env.installed_version(dist)[source]
Parameters:

dist (str)

Return type:

str | None

colabutilscs4337.env.tested_runtime()[source]

The Colab runtime this release was tested against (generated by CI).

Return type:

dict

class colabutilscs4337.env.Row(package: 'str', source: 'str', installed: 'str | None', tested: 'str | None', status: 'str')[source]

Bases: object

Parameters:
  • package (str)

  • source (str)

  • installed (str | None)

  • tested (str | None)

  • status (str)