Skip to main content

Common Files

Every Cirron CLI project includes a set of common files that provide essential infrastructure, configuration, and project management capabilities. These files are generated regardless of your chosen template or model type. Framework-specific pages (PyTorch, TensorFlow, scikit-learn) link here for the shared scaffolding.

Project Structure

Dockerfile

The generated Dockerfile is a minimal Python image. The Cirron-relevant lines:
The CMD defaults to running src/inference.py so the image is immediately serve-ready. cirron build reads this file by default; override with dockerfile_path in cirron.yaml.

.gitignore

The generated .gitignore covers standard Python artifacts plus ML-specific patterns:
Add framework- or project-specific exclusions as needed. Python, venv, IDE, and OS patterns are included by default.

cirron.yaml

The project manifest. See the framework pages for example contents. Resolution order at runtime: global config (~/.cirron/config.json) → project cirron.yaml → command flags.

README.md

A generated README with sections for quick start, project structure, and the cirron commands that operate on the project (test, build, deploy, status, logs). Customize freely after init.

.env.example

Environment variable template. Copy to .env for local development:
Manage env vars on the platform with cirron env list, cirron env set, and cirron env delete.

Test files

Three unittest skeletons are generated under tests/:
  • test_model.py: verifies create_model() returns a usable model and exposes expected methods (forward for PyTorch, predict for sklearn).
  • test_inference.py: verifies ModelInference instantiates and exposes preprocess / predict.
  • test_data.py: placeholder for data validation tests.
Run with cirron test or python -m unittest discover tests.

Optional components

Sample data: --include-sample-data

Generates data/sample/sample_data.csv (classification or regression depending on selected model type) so cirron test and the generated training scripts work out of the box.

Jupyter notebook: --include-notebook

Generates notebooks/explore.ipynb with cells pre-wired to import from src/.

Integration with the CLI

Next Steps

Template generation

How templates are authored and extended

PyTorch

Deep learning with PyTorch

TensorFlow

Deep learning with TensorFlow

scikit-learn

Traditional ML algorithms