Skip to content
/ envwizard Public

Smart environment setup tool for Python projects - One command to create virtual environments, install dependencies, and configure .env files intelligently.

License

Notifications You must be signed in to change notification settings

0xV8/envwizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§™β€β™‚οΈ EnvWizard

Smart environment setup tool for Python projects - One command to create virtual environments, install dependencies, and configure .env files intelligently.

PyPI version Python Support License: MIT Tests Coverage Security

✨ 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:

  1. Detect your frameworks (Django, PostgreSQL, etc.)
  2. Create a virtual environment
  3. Install all dependencies
  4. Generate .env and .env.example files
  5. 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! πŸš€

About

Smart environment setup tool for Python projects - One command to create virtual environments, install dependencies, and configure .env files intelligently.

Resources

License

Stars

Watchers

Forks

Packages

No packages published