Castform
Castform is the SDK and small companion CLI for the Castform training platform.
It depends on the platform-independent benchmax runtime and adds authentication,
validation, uploads, launches, run inspection, hosted corpus/RAG libraries, trace
processing and project scaffolding.
Python 3.12 is required.
Login profiles
Production is the built-in default, so normal users only run castform login.
Internal and self-hosted deployments use named profiles:
castform login --profile staging --domain castform.dev
castform profile activate staging
castform profile list
Use castform --profile prod <command> for a one-command override. Self-hosted
profiles can pass --api-url, --auth-url, --llm-url, and --app-url to
castform login when their services do not follow the standard subdomain
layout. Profile routing is stored in ~/.castform/config.toml; login sessions
remain in the protected ~/.castform/credentials.json.
Start a standalone project
uv tool install -U castform
castform login
castform setup --dir my-environment
cd my-environment
uv sync
uv run python main.py
castform setup writes a pyproject.toml, a runnable main.py, small seed
datasets and script-focused agent skills. Bare main.py prepares data and runs
local validation with two siblings; it never launches training. After reviewing
the result, launch explicitly:
uv run python main.py launch
The generated script makes every boundary visible:
- prepare or reference data with normal Python library calls;
- materialize an example through
Environment.create_dataset, then callvalidate_environmentfor the real two-sibling environment contract; - call
dump_bundle(..., pip_dependencies=[...])with explicit remote deps; - call
upload_assets(bundle=...)with that exact bundle and only the dataset splits that should be uploaded; - ask for cost confirmation, then call
TrainerClient.launch_training_run.
The CLI does not duplicate that orchestration. Use it for login, setup,
doctor, guide, runs inspection and cancelling a run with castform stop.
castform whoami and castform logout manage the active session.
Optional libraries
Add only the optional features the project uses:
uv add 'castform[rag]'
Trace adapters and castform.traces.TracesPipeline ship with the base
castform package; no trace-specific extra is required.
Vector-store integrations ship as their own extras: castform[chroma],
castform[pinecone], castform[turbopuffer].
Corpus ingestion, QA generation and trace preparation are Python library
workflows. Keep their calls in the project's data stage so the preparation is
reviewable and reproducible. Remote rollout imports must also be listed explicitly
in the bundle's pip_dependencies; project dependencies and rollout dependencies
are related but serve different runtimes.
Dataset upload is optional. Omit train_dataset and/or eval_dataset when the
environment resolves that split at runtime, such as through Harbor or Git. Passing
an empty list is explicit and uploads an empty JSONL; it does not mean “omit.”
License
Apache 2.0 © 2026 CGFT Inc.
Metadata
Release files for castform 0.2.5
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 |
|---|---|---|---|---|
| castform-0.2.5.tar.gz | 451.3 kB | Without provenance | Details for castform-0.2.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| castform-0.2.5-py3-none-any.whl | Python 3 | none | any | Details for castform-0.2.5-py3-none-any.whl |
Total release size: 837.2 kB
Release files / castform-0.2.5.tar.gz
| Download URL | castform-0.2.5.tar.gz |
|---|---|
| Size | 451.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
62290cc9ee04b8c764e506111497dcd24e50d55c9ccd8e658ebfc5247ac2f31b
|
|
BLAKE2b-256 checksum How to use checksums |
6e44907b85d0256858c49d92e7fd4fb6acc3777d94cc234fbb4175101c289790
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / castform-0.2.5-py3-none-any.whl
| Download URL | castform-0.2.5-py3-none-any.whl |
|---|---|
| Size | 386.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc583de1ebfaf0c737fd90b1b84e0142aa3939ff3c303f8dc7b9b72771b47582
|
|
BLAKE2b-256 checksum How to use checksums |
49a29a9f6a5439704c8ca8b78bb21d9953311405881a82c8e8cca044c4e26462
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for castform 0.2.5
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.