Skip to main content

Smart environment setup tool - One command to create virtual envs, install deps, and configure .env intelligently

Project description

🧙‍♂️ 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! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envwizard-0.2.1.tar.gz (32.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envwizard-0.2.1-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file envwizard-0.2.1.tar.gz.

File metadata

  • Download URL: envwizard-0.2.1.tar.gz
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for envwizard-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8a2c9fee25f7945494862a7a99759d4db74e16c7b528f44879273e35f5768e35
MD5 9e43c5690867aa57db3621427551ecc7
BLAKE2b-256 27a7af7fd05ee82947cc3ede66b885ff68ae1e5c079f7cefd59b4fbab3b24aa2

See more details on using hashes here.

File details

Details for the file envwizard-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: envwizard-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for envwizard-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d282d831b426e619a1099934cfac294432b050bc8616897ae614bce3963f5c54
MD5 e13abed2f3a8994d23c45f5e2025b9e0
BLAKE2b-256 294a094eff9112b8583fb83f2d299071779771eb34d9b1ce19b256050522ba87

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page