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 features the project uses:
uv add 'castform[rag]'
uv add 'castform[traces]'
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file castform-0.2.2.tar.gz.
File metadata
- Download URL: castform-0.2.2.tar.gz
- Upload date:
- Size: 427.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a4fc41882133b1146cfa1bf9a1013a64256c7b4036e61ba6a58c31d3f8e231f
|
|
| MD5 |
ff646d172512dd7c471b360feedc1744
|
|
| BLAKE2b-256 |
03b46b1aeba6f75e26d7953011c0385a831ceccc5dfbff07f0751010998a3e30
|
File details
Details for the file castform-0.2.2-py3-none-any.whl.
File metadata
- Download URL: castform-0.2.2-py3-none-any.whl
- Upload date:
- Size: 366.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c36a501f65abe6b7d3adf573890925526e59a73ce76019085c2e4a1a7be74c1
|
|
| MD5 |
bfe05f62e2e0984e682dac8081e198fc
|
|
| BLAKE2b-256 |
9d33592124b9f85f668467ef3701289894d37ad4947b2b4546ff1e95bbb5464b
|