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 still

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 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_training_run(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, and castform with-auth -- <cmd> runs an external command with the profile's credential injected as CASTFORM_AUTH_TOKEN.

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.0.tar.gz (447.4 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.0-py3-none-any.whl (385.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: castform-0.2.0.tar.gz
  • Upload date:
  • Size: 447.4 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.0.tar.gz
Algorithm Hash digest
SHA256 8769bc833df04f3a3d66486a1ec8aaad4093f47d4d24015ffadb9c54f5ca9d21
MD5 ca48f2458398f3dce098171039439c62
BLAKE2b-256 232263ec8e6fc14367e80a36cb71c4ab9bb8cce1f49e0fd7e15dba6db1fc7f29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: castform-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 385.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f65852079e4546813e84f218a28d5d2bca1da55fd91de2dc67a0db562322ddf7
MD5 2b44cc1e400750551bffb3d666d0f685
BLAKE2b-256 edff9d3dc11cef339ec4294454cfed2a9235e5a2219c39f9f1692a4b3843a7b2

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

0.2.1

2 files

This release

0.2.0 This release

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