Transformer Lab SDK
The Transformer Lab Python SDK provides a way for ML scripts to integrate with Transformer Lab.
Install
pip install transformerlab-internal
Usage
from lab import lab
# Initialize with experiment ID
lab.init("my-experiment")
lab.log("Job initiated")
config_artifact_path = lab.save_artifact(<config_file>, "training_config.json")
lab.log(f"Saved training config: {config_artifact_path}")
lab.update_progress(1)
...
lab.update_progress(99)
model_path = lab.save_model(<training_output_dir>, name="trained_model")
lab.log("Saved model file to {model_path}")
lab.finish("Training completed successfully")
Shared storage
Each user has a personal area of the team workspace for large files reused across
experiments and jobs — a base model, a tokenized corpus, a reference checkpoint.
Upload once from the terminal with lab storage upload, then read it from any job:
from lab import lab
corpus = lab.storage_download("tokenized-corpus") # directory → local dir
weights = lab.storage_download("models/base-model.safetensors") # file → local path
for entry in lab.storage_list("models"):
print(entry["relpath"], entry["size"])
lab.storage_upload("./derived-index.faiss", "indexes/wiki.faiss")
Downloads always land on the node's own disk — the returned path is a file you can
open. By default they go to a cache under ~/.transformerlab/cache/user_storage/
(pass dest= to choose a location) and read straight from object storage, so a
multi-GB file moves at full bandwidth without routing through the API server. A
local copy whose size already matches is reused, so re-running a job does not
re-fetch it; pass force=True to override.
Every path is relative to your own storage root. Async variants exist for all three
(async_storage_download, async_storage_upload, async_storage_list).
Reporting metrics
Pass a dict of named metrics to lab.finish(score=...). The dict shape is required —
metrics are stored under job_data.score and surfaced by lab job list (Score column)
and lab job info, and read by sweep / autoresearch flows for optimization.
lab.finish(message="Done!") # success, no score
lab.finish(message="Done!", score={"accuracy": 0.78}) # success with one metric
lab.finish(score={"accuracy": 0.78, "f1": 0.83}) # multiple metrics
Do not pass a scalar (e.g. lab.finish(score=0.78)) — wrap it in a dict instead:
lab.finish(score={"score": 0.78}).
Sample scripts can be found at https://github.com/transformerlab/transformerlab-platform/tree/main/lab-sdk/scripts/examples
Development
The code for this can be found in the lab-sdk directory of
https://github.com/transformerlab/transformerlab-platform
To develop locally in editable mode and run automated tests:
cd lab-sdk
uv venv
uv pip install -e .
uv run pytest # Run tests
Metadata
Release files for transformerlab-internal 0.1.63
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| transformerlab_internal-0.1.63.tar.gz | 110.4 kB | Without provenance | Details for transformerlab_internal-0.1.63.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| transformerlab_internal-0.1.63-py3-none-any.whl | Python 3 | none | any | Details for transformerlab_internal-0.1.63-py3-none-any.whl |
Total release size: 200.1 kB
Release files / transformerlab_internal-0.1.63.tar.gz
| Download URL | transformerlab_internal-0.1.63.tar.gz |
|---|---|
| Size | 110.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43cf351534e9192af6fc9ec130b33ba5171c48abe31b4ff82b3daf5673b17e9a
|
|
BLAKE2b-256 checksum How to use checksums |
6300710098b10eacc081a95518d16ee321341b081f8b1641ed99b8844336428b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / transformerlab_internal-0.1.63-py3-none-any.whl
| Download URL | transformerlab_internal-0.1.63-py3-none-any.whl |
|---|---|
| Size | 89.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6f87707fcde4a8cacb8a28155e8a80b673f6c4556303316ee74a48d2be5c490
|
|
BLAKE2b-256 checksum How to use checksums |
702e1bf67eaa3bad0c419707fcccce7a8905f2afbed30624c89e9379dc8dd339
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for transformerlab-internal 0.1.63
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.