Skip to main content

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:

  1. prepare or reference data with normal Python library calls;
  2. materialize an example through Environment.create_dataset, then call validate_environment for the real two-sibling environment contract;
  3. call dump_bundle(..., pip_dependencies=[...]) with explicit remote deps;
  4. call upload_assets(bundle=...) with that exact bundle and only the dataset splits that should be uploaded;
  5. 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

castform-0.2.3.tar.gz (437.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

castform-0.2.3-py3-none-any.whl (375.6 kB view details)

Uploaded Python 3

File details

Details for the file castform-0.2.3.tar.gz.

File metadata

  • Download URL: castform-0.2.3.tar.gz
  • Upload date:
  • Size: 437.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

Hashes for castform-0.2.3.tar.gz
Algorithm Hash digest
SHA256 74c0653ce0650960d7b757e07a62ce113b811a4aab907d9dd6226ec29c4bf64b
MD5 baa8bd2b6a3387c1ce63f39f17ec972d
BLAKE2b-256 bd52c117d204181d31793386483e18267454db1997dca5e4f2d563327181ba68

See more details on using hashes here.

File details

Details for the file castform-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: castform-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 375.6 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

Hashes for castform-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 615b1ed30f5ba4c23c65a0afe7389bc2d2ea75860872693fee31bbbe5ce4c4ae
MD5 a51b76d797b107a5c1a7a1eace6b6575
BLAKE2b-256 8b819d8c6a2d7d0c3156ad8a422d5d2be4e98701b8bdef83773bec6b482faf75

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.5

2 files

0.2.4

2 files

This release

0.2.3 This release

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page