Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.2.5 instead.
Reason given by maintainers: not public

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 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

castform-0.2.1.tar.gz (441.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.1-py3-none-any.whl (380.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: castform-0.2.1.tar.gz
  • Upload date:
  • Size: 441.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.1.tar.gz
Algorithm Hash digest
SHA256 0f6f5a22f8ae3a2b8985603fc82be4d99a05679514695b46b593998abde34d9c
MD5 c1e2963139d3a7d62e125d42d4fdc3e5
BLAKE2b-256 4c156072ffa46c630e7aa822c8e052c545ac088f985fb0db2bebfe555c6f476b

See more details on using hashes here.

File details

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

File metadata

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

Hashes for castform-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2608cc6c247142f7da1e7db6355f042baf304c329667d9fe0666c625ece03936
MD5 a4d260043c0a3281b58aca30c21996b5
BLAKE2b-256 e24763e41176125733e1384b295d7622a4e165c23542fa279077fea699e675ef

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

This release

0.2.1 This release

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