Skip to main content

auto_ft

A Python CLI that wraps ostris/ai-toolkit to launch and manage LoRA fine-tuning jobs from a plain shell.

auto_ft does not train anything itself — it composes none of the YAML, runs none of the GPU code. It is a thin orchestration layer: spawn a detached Ostris subprocess, watch the on-disk artifacts, and surface JSON-shaped status the way other shell tools and scripts can consume.

What you get

A nine-subcommand CLI over an existing Ostris install:

Command Purpose
auto_ft init Create .autoft/state.json and register a job.
auto_ft prepare Validate a dataset (count, format, resolution, PIL integrity) and write a hash manifest.
auto_ft train Spawn detached Ostris training; returns in ~2s.
auto_ft status Filesystem-derived job status (running / completed / stopped / stale / failed).
auto_ft logs Tail N lines of train.log (platform-independent).
auto_ft stop Terminate a running job (Windows: TerminateProcess).
auto_ft checkpoints List *.safetensors checkpoints.
auto_ft samples List sample image paths.
auto_ft export Copy a checkpoint to a deployable path.

Every successful invocation emits a single JSON object on stdout. Errors emit {"error_code": "...", "message": "...", "details": {...}} and exit 1.

Install

pipx install auto-ft

auto_ft requires Python 3.11+ and a working ostris/ai-toolkit install on the same machine. The CLI launches Ostris as a subprocess; it does not vendor or install Ostris itself.

Configure Ostris

Tell auto_ft how to find your Ostris install. Two options:

Environment variables:

$env:AUTO_FT_OSTRIS_PYTHON = "C:\path\to\ai-toolkit\venv\Scripts\python.exe"
$env:AUTO_FT_OSTRIS_RUN_PY = "C:\path\to\ai-toolkit\run.py"

Config file at ~/.auto_ft/config.toml:

[ostris]
python = "C:\\path\\to\\ai-toolkit\\venv\\Scripts\\python.exe"
run_py = "C:\\path\\to\\ai-toolkit\\run.py"

Env vars take precedence. If both are absent, auto_ft raises E_OSTRIS_CONFIG_MISSING.

Quickstart

# 1. Register a job in the current project.
auto_ft init --name mydog --trigger zyx --dataset .\images

# 2. Validate the dataset (writes <images>\.auto_ft_prep.json).
auto_ft prepare .\images --trigger zyx

# 3. Hand auto_ft an Ostris-shaped YAML and launch.
auto_ft train .\config.yaml

# 4. Check progress (read-only; no side effects).
auto_ft status mydog
auto_ft logs mydog --tail 50

# 5. When the job is done, export the LoRA.
auto_ft checkpoints mydog
auto_ft export .\output\mydog\mydog.safetensors

auto_ft does not generate the Ostris YAML for you — bring your own, hand-authored or composed by any tool you prefer. The CLI's only YAML requirement is that config.process[0].training_folder is an absolute path; Ostris owns the <training_folder>/<config.name>/ join itself.

Trust boundary

auto_ft is a thin wrapper. When you run auto_ft train cfg.yaml, you are trusting:

  • the Python CLI you installed (this package), and
  • the Ostris installation pointed at by AUTO_FT_OSTRIS_PYTHON / AUTO_FT_OSTRIS_RUN_PY.

The CLI never imports ai-toolkit; it only spawns the Ostris Python interpreter as a subprocess. Resume semantics, model loading, GPU ownership — everything compute-bearing — happens inside Ostris.

Status

Alpha (0.1.x). Tested on Windows 10/11 with NVIDIA 8GB VRAM running SDXL LoRA training. The CLI itself is arch-agnostic — any model Ostris can train, auto_ft can launch — but only the SDXL path has been exercised end-to-end so far.

License

MIT — see LICENSE.

Metadata

Release files for auto-ft 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for auto-ft 0.1.1
File Size Uploaded Provenance
auto_ft-0.1.1.tar.gz 57.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for auto-ft 0.1.1
File Interpreter ABI Platform
auto_ft-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 96.3 kB

Release files / auto_ft-0.1.1.tar.gz

Download URL auto_ft-0.1.1.tar.gz
Size 57.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ac347f24c48b1c3d128f7974dc692693172d3b4ff637853fc30d7be38f29036c
BLAKE2b-256 checksum
How to use checksums
14565f8559de2f333cde39c17934c341f81ca54aa00e0728e03409997dee529c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / auto_ft-0.1.1-py3-none-any.whl

Download URL auto_ft-0.1.1-py3-none-any.whl
Size 39.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3146525d3fd6d0a12a617de18fe3491d8dd69d5b9422e3d244297bab8befab8b
BLAKE2b-256 checksum
How to use checksums
755b9a5d4e6f9ce1a09417137c07e3cb5abcdfd3b32c35cf96885600aa325ea1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for auto-ft 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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