Skip to content
Repo

TrackioConfig

from modal_training_gym.common.trackio import TrackioConfig

Trackio logging configuration shared across all frameworks.

Trackio can log to a Hugging Face Space or a self-hosted server. Training images install Trackio automatically and adapt the W&B calls made by the underlying framework.

project : str Trackio project name. Default "" (uses "training-gym"). group : str Group tag for related runs. Default "". exp_name : str Run display name. Default "". disable_random_suffix : bool Whether the framework should preserve the configured group name. Default True. space_id : str Hugging Face Space ID, such as "owner/trackio". Optional. server_url : str URL of a self-hosted Trackio server. Optional. dashboard_url : str Explicit dashboard URL. Optional; otherwise derived from space_id or server_url. bucket_id : str Hugging Face Bucket used by the Trackio Space. Optional. modal_secret_name : str Modal Secret containing HF_TOKEN or TRACKIO_WRITE_TOKEN. The standard optional "huggingface-secret" is used by default. TRACKIO_PACKAGE_VERSION : str Trackio release installed in the training image, and in the server deployed by deploy_to_modal. Defaults to the version this release of Training Gym is tested against; bump it to pick up a newer Trackio.

Attributes

project str

Metric project name. Default: ""

group str

Group tag for related runs. Default: ""

exp_name str

Run display name. Default: ""

disable_random_suffix bool

Preserve the configured run name. Default: True

space_id str

Default: ""

server_url str

Default: ""

dashboard_url str

Default: ""

bucket_id str

Default: ""

modal_secret_name str

Default: "huggingface-secret"

TRACKIO_PACKAGE_VERSION str

Default: "0.34.0"

deploy_to_modal(*, project: str = '', group: str = '', exp_name: str = '', disable_random_suffix: bool = True, app_name: str = 'training-gym-trackio', volume_name: str = '', modal_secret_name: str = '', TRACKIO_PACKAGE_VERSION: str = '0.34.0') -> Self

Deploy a persistent Trackio server to Modal and return its config.

The app, Volume, and write-token Secret are reused on subsequent calls with the same names. Ingestion and dashboard mutations require the write token stored in the Secret. Reads are open unless a dashboard password was set with training-gym set-password, which gates this dashboard behind the same HTTP Basic Auth as the observability dashboard.

metadata(*, entity: str = '', run_id: str = '') -> dict[str, str]
runtime_env(*, run_id: str, entity: str = '') -> dict[str, str]
url(*, entity: str = '', run_id: str = '') -> str | None