AI-powered tool that automatically generates Conda environments for Python projects
EnvAgent analyzes your Python codebase and creates production-ready Conda environments automatically. It uses GPT-4 for intelligent dependency detection, handles version conflicts, and self-heals installation errors.
# Install dependencies
pip install -r requirements.txt
# Configure OpenAI API key
echo "OPENAI_API_KEY=your-api-key-here" > .env
# Generate environment for your project
python main.py /path/to/your/project
# Activate and use
conda activate your_project_name- Smart Dependency Detection - Combines AST parsing with config file analysis for accurate results
- Active Hardware Detection - Detects NVIDIA GPU vs Apple Silicon and optimizes accordingly
- Smart Warnings - Alerts you if your hardware (e.g., Mac) doesn't match project requirements (e.g., CUDA)
- Monorepo Support - Automatically identifies the correct project root in complex repositories
- Self-Healing - Fixes installation errors automatically (up to 8 retries with GPT-4)
- Platform-Aware - Excludes incompatible packages (e.g., CUDA on macOS)
- Token-Efficient - Handles large codebases (1000+ files) without hitting LLM token limits
- Production-Ready - Generates validated
environment.ymlwith loose version constraints
- Python 3.8+
- Conda (Download Miniconda)
- OpenAI API Key (Get one here)
git clone https://github.com/yourusername/EnvAgent.git
cd EnvAgent
pip install -r requirements.txt
cp .env.example .env
# Edit .env and add your OPENAI_API_KEY# Analyze current directory
python main.py .
# Analyze specific project
python main.py /path/to/project
# Custom environment name
python main.py /path/to/project -n my_env
# Specify Python version
python main.py /path/to/project --python-version 3.10
# Generate YAML only (don't create environment)
python main.py /path/to/project --no-create# Analyze a YOLOv5 project
python main.py ~/projects/yolov5
# Output:
# 🔍 Checking system requirements...
# 📋 Analyzing project structure...
# 📁 Filtering source files...
# 🔬 Scanning dependencies...
# 🔨 Generating environment.yml...
# 🚀 Creating conda environment...
# ✅ SUCCESS! Environment 'yolov5' created.
# Use the environment
conda activate yolov5
python train.py --data coco.yamlEnvAgent uses a 6-step pipeline to generate environments:
- System Check - Validates Python, Conda, and Active GPU Hardware (NVIDIA/Apple Silicon)
- Decision Agent - Detects monorepos and chooses analysis strategy
- File Filter - Selects relevant Python files and config files
- Code Scanner - Extracts dependencies using AST parsing + config analysis
- Environment Builder - Generates OS-aware
environment.ymlwith GPT-4 - Auto-Fix Loop - Creates environment and fixes errors automatically
See FLOW_ARCHITECTURE.md for detailed technical documentation.
- FLOW_ARCHITECTURE.md - Detailed execution flow with step-by-step diagrams
- ARCHITECTURE.md - System architecture and technical details
- CONTRIBUTING.md - Contribution guidelines
