Install
Framework package
Section titled “Framework package”Status: Developer preview 0.1.4 (Apache-2.0). APIs may change between 0.x minors — see What’s new and the Framework CHANGELOG.md.
pip install drtoller# optional extras:# pip install "drtoller[ray,pg,s3,ui,api]"drtoller versionPyPI package and CLI: drtoller (pip install drtoller, then drtoller …). Import: drtoller.framework. Extra api is the run control-plane HTTP server (drtoller serve api).
From a source checkout (Framework repo root):
pip install -e ".[dev]"# optional extras: ray, pg, s3, ui, api, docsCore dependencies include PyArrow, Pydantic, PyYAML and Prometheus client support. Install optional Ray, PostgreSQL, S3/MinIO, Streamlit, and run-API extras only where those integrations are used.
drtoller versiondrtoller validate path/to/step.drtmldrtoller validate path/to/step.drtml --compiledrtoller validate path/to/step.drtml --format jsondrtoller plan path/to/step.drtml --format jsondrtoller init my-pipelinedrtoller inspect --format jsondrtoller inspect --level 1drtoller ray statusdrtoller deploy env --list-providersdrtoller deploy env --provider miniodrtoller run path/to/step.drtml --run-id RUN_IDdrtoller run path/to/step.drtml --config run.yaml --param KEY=VALUEdrtoller run path/to/step.drtml --via airflow --format jsondrtoller serve api --port 8088drtoller ls path/to/step.drtmldrtoller ls path/to/step.drtml --format jsondrtoller clear path/to/step.drtml --run-id RUN_IDdrtoller clear path/to/step.drtml --run-id ID1,ID2 --yesdrtoller clear path/to/step.drtml --alldrtoller clear path/to/step.drtml --all --yesls lists run_ids with parquet size/object count and PG row counts (one scan). clear plans deletes (parquet prefix / DELETE … WHERE run_id). Pass --run-id (comma-separated) or --all (every id from ls), not both. Default is dry-run; --yes executes. Never truncates the table or touches schema_version. Optional --datasets a,b, --include-inputs, --include-metrics (sibling *_metrics step plus live metric tables), --metrics-manifest PATH. --format json for scripts.
run uses the same submit path as HTTP and Streamlit. --config is YAML/JSON (run_id, artifacts_root, params); flags override the file. --via local (default) runs on this host; --via airflow triggers the step DAG. drtoller serve api is the HTTP control plane (POST/GET /v1/runs). See Run API.
If host Python cannot import drtoller.framework and pyarrow, the Platform wrapper runs these in airflow-worker (DRTOLLER_FW_BACKEND=auto|host|docker).
Capability discovery and repairable validation: AI & Automation. AI bootstrap: AI quickstart. Ray multi-host / object store: Ray. Stack ops (up, k8s up, k8s down, install, ray bake): CLI operations.
Smoke tests (no step packs)
Section titled “Smoke tests (no step packs)”python -m pytest -q examples/hello-step examples/hello-plugin examples/hello-mappingFramework-only unit tests exclude step-pack, platform, and integration markers. The exact pytest invocation is in the Framework repo CONTRIBUTING.md. Contract tests that load an OSS step pack such as drtoller.edge are opt-in.
Releases / PyPI
Section titled “Releases / PyPI”Cutting a version: tag vX.Y.Z on DrToller.Framework (see package docs/PUBLISHING.md). GitHub Release + Trusted Publishing upload the wheel to PyPI.
Step package
Section titled “Step package”A step is a separate installable Python package containing importable processor code and packaged *.drtml files:
pip install acme-pipeline-stepsexport DRTOLLER_STEPS_ROOTS=/opt/acme-pipeline-steps/manifestsOfficial OSS steps live in DrToller.Edge (an example open step pack). Additional step packages use the same DRTOLLER_STEPS_ROOTS / DRTOLLER_STEPS_ROOTS_FILE contract. Discovery does not scan sibling checkout paths automatically.
Deployment environment
Section titled “Deployment environment”A Framework workload needs an environment that provides the runtime (storage, compute, observability, and related capabilities). DrToller.Platform is that layer. Product page: platform.drtoller.com.
The current default is a self-hosted Compose environment plus operator CLI (drtoller up, drtoller update, …). That composition is a shipped reference, not a Framework requirement: you can change, replace, or omit services if the capabilities the workload needs are provided another way.
Typical sibling checkout:
/opt/DrToller.Framework/opt/DrToller.Edge/opt/DrToller.PlatformStep code stays independent of which services are up; DRTML selects backends and integrations.
See the Deploy section:
Dashboard generation and PostgreSQL DDL sync are deployment-only operations — not part of step runtime.
This documentation site
Section titled “This documentation site”Canonical docs are this Starlight site in DrToller.com (framework/docs/):
cd framework/docsnpm installnpm run devnpm run buildDeployed at https://framework.drtoller.com/docs. Company landing: drtoller.com.