AI-driven Dockerfile generator for any Python project
Project description
Orchify
AI-driven Dockerfile, DevOps automation, and CI/CD orchestrator for any Python project.
🚀 Overview
Orchify (formerly Orchestron) is a command-line tool that uses AI agents (via Agno and the Model Context Protocol) to:
- Scan a Python project and analyze its structure, dependencies, entrypoints, and infrastructure needs.
- Generate production-grade, multi-stage Dockerfiles, .dockerignore, Docker Compose, CI/CD workflows, and other DevOps configurations—tailored to your project automatically.
Whether you’re containerizing microservices, setting up cloud deployments, or building full CI/CD pipelines, Orchify crafts best-practice infrastructure in seconds.
🔧 Features
- Framework Agnostic: Works with plain Python scripts, Flask, FastAPI, Django, AWS Lambdas, and more.
- AI-Powered: Leverages Anthropic Claude or OpenAI GPT models to write idiomatic DevOps artifacts.
- Extensible: Generates Dockerfiles,
docker-compose.yml, GitHub Actions workflows, and can be extended for Terraform, Kubernetes, etc. - Token-Aware: Dynamically selects models based on codebase size to avoid context limits.
- Typed Manifest: Produces a Pydantic-validated
orchify.jsonas a single source of truth for your DevOps pipeline. - Logging & Debugging: Built-in logging to trace scans and generations.
📦 Installation
pip install orchify
Or from source:
git clone https://github.com/sattyamjjain/Orchify.git
cd orchify
pip install -e .
🔨 Usage
Orchify CLI has three main commands:
hello
A quick check:
orchify hello
# 👋 Welcome to Orchify!
scan
Analyze and build orchify.json manifest:
orchify scan --dir /path/to/your/project
Options:
-d, --dirpath: Project directory (default: current).-p, --prompttext: Custom AI prompt.
gen
Generate DevOps artifacts from the manifest:
orchify gen --model-id claude-3-7-sonnet-latest --output ./Dockerfile
Options:
-m, --model-idmodel: AI model.-o, --outputpath: Dockerfile path (default:Dockerfile).
⚙️ Configuration
Authenticate AI providers via environment variables:
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY |
Anthropic Claude API token. |
OPENAI_API_KEY |
OpenAI API key. |
📄 Manifest Schema (orchify.json)
Orchify emits a Pydantic-validated manifest that includes:
- Project metadata (name, version, repo)
- Dependencies & install commands
- Source & entrypoint files
- Docker Compose service definitions
- CI/CD workflow settings
- Security scanning configs
- Notification hooks
Use this manifest to drive CI/CD or further automation.
🛠️ Development
pip install -e .
pytest tests/
flake8 orchify tests
black orchify tests
🤝 Contributing
Contributions welcome! Please fork, branch, and open a PR.
📄 License
MIT License — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orchify-0.2.0.tar.gz.
File metadata
- Download URL: orchify-0.2.0.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09f6850a4e9ad56168e6540ad5e66ec5525a24d1535717477c6835ab807f8c2b
|
|
| MD5 |
ae5dd8141e3f7d77d16524a643393db5
|
|
| BLAKE2b-256 |
d44fa95761a8fa8d9d0b0e5ac2cf18cdcba34e497277514de370c410cc91dff6
|
File details
Details for the file orchify-0.2.0-py3-none-any.whl.
File metadata
- Download URL: orchify-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64a80af0c15cdf0416d84f782db5697961fe847b573221eeb516553599bc7b68
|
|
| MD5 |
fdb556b629b968958d3a428dc6b17cb2
|
|
| BLAKE2b-256 |
6d3b33ea5f5de8e6cdc374a9e88c123e916b5dc4769680d456a6e502371beb7b
|