🧙♂️ EnvWizard
Smart environment setup tool for Python projects - One command to create virtual environments, install dependencies, and configure .env files intelligently.
✨ Features
- 🔍 Auto-Detection - Automatically detects Django, FastAPI, Flask, and 20+ frameworks
- 🎯 Smart .env Generation - Creates comprehensive .env files with framework-specific variables
- 🐍 Virtual Environment Management - Creates and manages venvs with specific Python versions
- 📦 Dependency Installation - Auto-installs from requirements.txt, pyproject.toml, or Pipfile
- 🎨 Beautiful CLI - Rich terminal output with colors and progress indicators
- 🔒 Secure by Default - Input validation, path protection, secure file permissions
- 🚀 Cross-Platform - Works on Linux, macOS, and Windows
- ⚡ Fast - Saves 95% of setup time (15-30 min → 30 seconds)
📦 Installation
pip install envwizard
🚀 Quick Start
Initialize a New Project
# Navigate to your project directory
cd my-django-project
# Run envwizard
envwizard init
# That's it! ✨
EnvWizard will:
- Detect your frameworks (Django, PostgreSQL, etc.)
- Create a virtual environment
- Install all dependencies
- Generate .env and .env.example files
- Add .env to .gitignore
Usage Examples
Detect Project Type
envwizard detect
Create Virtual Environment Only
envwizard create-venv --name venv --python-version 3.11
Generate .env Files Only
envwizard create-dotenv
Custom Setup
# Skip dependency installation
envwizard init --no-install
# Skip .env generation
envwizard init --no-dotenv
# Custom virtual environment name
envwizard init --venv-name myenv
# Specific Python version
envwizard init --python-version 3.11
📋 Supported Frameworks
EnvWizard automatically detects and configures:
Web Frameworks
- Django
- FastAPI
- Flask
- Streamlit
Databases
- PostgreSQL
- MySQL
- MongoDB
- Redis
- SQLite
Tools & Libraries
- Celery (Task queues)
- SQLAlchemy (ORM)
- Pandas (Data analysis)
- NumPy (Scientific computing)
- Pytest (Testing)
📖 CLI Commands
envwizard init
Complete project setup - creates venv, installs deps, generates .env
Options:
--path, -p- Project directory (default: current)--venv-name, -n- Virtual environment name (default: venv)--python-version- Python version (e.g., 3.11)--yes, -y- Skip confirmation prompts (for CI/CD automation)--no-install- Skip dependency installation--no-dotenv- Skip .env generation
envwizard detect
Analyze project and show detected frameworks
envwizard create-venv
Create virtual environment only
envwizard create-dotenv
Generate .env files only
envwizard --version
Show version information
envwizard --help
Show help message
💡 Use Cases
Starting a New Project
mkdir my-fastapi-app
cd my-fastapi-app
echo "fastapi>=0.100.0" > requirements.txt
envwizard init
Joining an Existing Project
git clone https://github.com/username/django-project.git
cd django-project
envwizard init
🔒 Security Features
- ✅ Input Validation - All inputs sanitized to prevent command injection
- ✅ Path Protection - Prevents path traversal to system directories
- ✅ Secure Permissions - .env files created with 0600 (owner-only)
- ✅ Auto .gitignore - Automatically adds .env to .gitignore
- ✅ No Secret Storage - Generates placeholder values only
📊 Performance
| Task | Manual | EnvWizard | Time Saved |
|---|---|---|---|
| Create venv | 30s | Auto | 30s |
| Install deps | 1-2 min | Auto | 60-120s |
| Create .env | 5-10 min | Auto | 5-10 min |
| Research variables | 5-15 min | Auto | 5-15 min |
| Total | 14-31 min | ~30s | 95% faster |
🤝 Contributing
Contributions are welcome!
git clone https://github.com/0xV8/envwizard.git
cd envwizard
pip install -e ".[dev]"
pytest tests/
📝 Requirements
- Python 3.9+
- pip
- Git (optional)
📄 License
MIT License - see LICENSE file for details
📧 Support
Save hours of setup time. Focus on building great applications.
pip install envwizard and get started in seconds! 🚀
Release files for envwizard 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| envwizard-0.2.1.tar.gz | 32.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| envwizard-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.8 kB
Release files / envwizard-0.2.1.tar.gz
| Download URL | envwizard-0.2.1.tar.gz |
|---|---|
| Size | 32.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a2c9fee25f7945494862a7a99759d4db74e16c7b528f44879273e35f5768e35
|
|
BLAKE2b-256 checksum How to use checksums |
27a7af7fd05ee82947cc3ede66b885ff68ae1e5c079f7cefd59b4fbab3b24aa2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Release files / envwizard-0.2.1-py3-none-any.whl
| Download URL | envwizard-0.2.1-py3-none-any.whl |
|---|---|
| Size | 25.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d282d831b426e619a1099934cfac294432b050bc8616897ae614bce3963f5c54
|
|
BLAKE2b-256 checksum How to use checksums |
294a094eff9112b8583fb83f2d299071779771eb34d9b1ce19b256050522ba87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|