envwizard


Nameenvwizard JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummarySmart environment setup tool - One command to create virtual envs, install deps, and configure .env intelligently
upload_time2025-11-02 12:46:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords automation development dotenv environment productivity setup virtualenv
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🧙‍♂️ EnvWizard

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

[![PyPI version](https://badge.fury.io/py/envwizard.svg)](https://pypi.org/project/envwizard/)
[![Python Support](https://img.shields.io/pypi/pyversions/envwizard.svg)](https://pypi.org/project/envwizard/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Tests](https://img.shields.io/badge/tests-118%20passing-brightgreen.svg)](https://github.com/0xV8/envwizard)
[![Coverage](https://img.shields.io/badge/coverage-73%25-green.svg)](https://github.com/0xV8/envwizard)
[![Security](https://img.shields.io/badge/security-A+-brightgreen.svg)](https://github.com/0xV8/envwizard)

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

```bash
pip install envwizard
```

## 🚀 Quick Start

### Initialize a New Project

```bash
# 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
```bash
envwizard detect
```

#### Create Virtual Environment Only
```bash
envwizard create-venv --name venv --python-version 3.11
```

#### Generate .env Files Only
```bash
envwizard create-dotenv
```

#### Custom Setup
```bash
# 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
```bash
mkdir my-fastapi-app
cd my-fastapi-app
echo "fastapi>=0.100.0" > requirements.txt
envwizard init
```

### Joining an Existing Project
```bash
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!

```bash
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

- 🐛 [Report bugs](https://github.com/0xV8/envwizard/issues)
- 💡 [Request features](https://github.com/0xV8/envwizard/issues)
- ⭐ [Star on GitHub](https://github.com/0xV8/envwizard)

---

**Made with ❤️ for Python developers**

Save hours of setup time. Focus on building great applications.

`pip install envwizard` and get started in seconds! 🚀

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "envwizard",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "automation, development, dotenv, environment, productivity, setup, virtualenv",
    "author": null,
    "author_email": "Vipin <vipin@example.com>",
    "download_url": null,
    "platform": null,
    "description": "# \ud83e\uddd9\u200d\u2642\ufe0f EnvWizard\n\n**Smart environment setup tool for Python projects** - One command to create virtual environments, install dependencies, and configure .env files intelligently.\n\n[![PyPI version](https://badge.fury.io/py/envwizard.svg)](https://pypi.org/project/envwizard/)\n[![Python Support](https://img.shields.io/pypi/pyversions/envwizard.svg)](https://pypi.org/project/envwizard/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Tests](https://img.shields.io/badge/tests-118%20passing-brightgreen.svg)](https://github.com/0xV8/envwizard)\n[![Coverage](https://img.shields.io/badge/coverage-73%25-green.svg)](https://github.com/0xV8/envwizard)\n[![Security](https://img.shields.io/badge/security-A+-brightgreen.svg)](https://github.com/0xV8/envwizard)\n\n## \u2728 Features\n\n- \ud83d\udd0d **Auto-Detection** - Automatically detects Django, FastAPI, Flask, and 20+ frameworks\n- \ud83c\udfaf **Smart .env Generation** - Creates comprehensive .env files with framework-specific variables\n- \ud83d\udc0d **Virtual Environment Management** - Creates and manages venvs with specific Python versions\n- \ud83d\udce6 **Dependency Installation** - Auto-installs from requirements.txt, pyproject.toml, or Pipfile\n- \ud83c\udfa8 **Beautiful CLI** - Rich terminal output with colors and progress indicators\n- \ud83d\udd12 **Secure by Default** - Input validation, path protection, secure file permissions\n- \ud83d\ude80 **Cross-Platform** - Works on Linux, macOS, and Windows\n- \u26a1 **Fast** - Saves 95% of setup time (15-30 min \u2192 30 seconds)\n\n## \ud83d\udce6 Installation\n\n```bash\npip install envwizard\n```\n\n## \ud83d\ude80 Quick Start\n\n### Initialize a New Project\n\n```bash\n# Navigate to your project directory\ncd my-django-project\n\n# Run envwizard\nenvwizard init\n\n# That's it! \u2728\n```\n\nEnvWizard will:\n1. Detect your frameworks (Django, PostgreSQL, etc.)\n2. Create a virtual environment\n3. Install all dependencies\n4. Generate .env and .env.example files\n5. Add .env to .gitignore\n\n### Usage Examples\n\n#### Detect Project Type\n```bash\nenvwizard detect\n```\n\n#### Create Virtual Environment Only\n```bash\nenvwizard create-venv --name venv --python-version 3.11\n```\n\n#### Generate .env Files Only\n```bash\nenvwizard create-dotenv\n```\n\n#### Custom Setup\n```bash\n# Skip dependency installation\nenvwizard init --no-install\n\n# Skip .env generation\nenvwizard init --no-dotenv\n\n# Custom virtual environment name\nenvwizard init --venv-name myenv\n\n# Specific Python version\nenvwizard init --python-version 3.11\n```\n\n## \ud83d\udccb Supported Frameworks\n\nEnvWizard automatically detects and configures:\n\n### Web Frameworks\n- Django\n- FastAPI\n- Flask\n- Streamlit\n\n### Databases\n- PostgreSQL\n- MySQL\n- MongoDB\n- Redis\n- SQLite\n\n### Tools & Libraries\n- Celery (Task queues)\n- SQLAlchemy (ORM)\n- Pandas (Data analysis)\n- NumPy (Scientific computing)\n- Pytest (Testing)\n\n## \ud83d\udcd6 CLI Commands\n\n### `envwizard init`\nComplete project setup - creates venv, installs deps, generates .env\n\n**Options:**\n- `--path, -p` - Project directory (default: current)\n- `--venv-name, -n` - Virtual environment name (default: venv)\n- `--python-version` - Python version (e.g., 3.11)\n- `--yes, -y` - Skip confirmation prompts (for CI/CD automation)\n- `--no-install` - Skip dependency installation\n- `--no-dotenv` - Skip .env generation\n\n### `envwizard detect`\nAnalyze project and show detected frameworks\n\n### `envwizard create-venv`\nCreate virtual environment only\n\n### `envwizard create-dotenv`\nGenerate .env files only\n\n### `envwizard --version`\nShow version information\n\n### `envwizard --help`\nShow help message\n\n## \ud83d\udca1 Use Cases\n\n### Starting a New Project\n```bash\nmkdir my-fastapi-app\ncd my-fastapi-app\necho \"fastapi>=0.100.0\" > requirements.txt\nenvwizard init\n```\n\n### Joining an Existing Project\n```bash\ngit clone https://github.com/username/django-project.git\ncd django-project\nenvwizard init\n```\n\n## \ud83d\udd12 Security Features\n\n- \u2705 **Input Validation** - All inputs sanitized to prevent command injection\n- \u2705 **Path Protection** - Prevents path traversal to system directories\n- \u2705 **Secure Permissions** - .env files created with 0600 (owner-only)\n- \u2705 **Auto .gitignore** - Automatically adds .env to .gitignore\n- \u2705 **No Secret Storage** - Generates placeholder values only\n\n## \ud83d\udcca Performance\n\n| Task | Manual | EnvWizard | Time Saved |\n|------|--------|-----------|------------|\n| Create venv | 30s | Auto | 30s |\n| Install deps | 1-2 min | Auto | 60-120s |\n| Create .env | 5-10 min | Auto | 5-10 min |\n| Research variables | 5-15 min | Auto | 5-15 min |\n| **Total** | **14-31 min** | **~30s** | **95% faster** |\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome!\n\n```bash\ngit clone https://github.com/0xV8/envwizard.git\ncd envwizard\npip install -e \".[dev]\"\npytest tests/\n```\n\n## \ud83d\udcdd Requirements\n\n- Python 3.9+\n- pip\n- Git (optional)\n\n## \ud83d\udcc4 License\n\nMIT License - see LICENSE file for details\n\n## \ud83d\udce7 Support\n\n- \ud83d\udc1b [Report bugs](https://github.com/0xV8/envwizard/issues)\n- \ud83d\udca1 [Request features](https://github.com/0xV8/envwizard/issues)\n- \u2b50 [Star on GitHub](https://github.com/0xV8/envwizard)\n\n---\n\n**Made with \u2764\ufe0f for Python developers**\n\nSave hours of setup time. Focus on building great applications.\n\n`pip install envwizard` and get started in seconds! \ud83d\ude80\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Smart environment setup tool - One command to create virtual envs, install deps, and configure .env intelligently",
    "version": "0.2.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/yourusername/envwizard/issues",
        "Documentation": "https://github.com/yourusername/envwizard#readme",
        "Homepage": "https://github.com/yourusername/envwizard",
        "Repository": "https://github.com/yourusername/envwizard"
    },
    "split_keywords": [
        "automation",
        " development",
        " dotenv",
        " environment",
        " productivity",
        " setup",
        " virtualenv"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eff835e25ff3f8e2341491cf043972dd3a90001e055ec025da3c1922ef57ab31",
                "md5": "b6b637a7c1b88083a92d5f4cdb375aa4",
                "sha256": "55ed5cf9c51f9ef8e7aa8dacaae8fac9c2d178b52c339e4831bbfcef9399b52a"
            },
            "downloads": -1,
            "filename": "envwizard-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b6b637a7c1b88083a92d5f4cdb375aa4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 25540,
            "upload_time": "2025-11-02T12:46:33",
            "upload_time_iso_8601": "2025-11-02T12:46:33.953232Z",
            "url": "https://files.pythonhosted.org/packages/ef/f8/35e25ff3f8e2341491cf043972dd3a90001e055ec025da3c1922ef57ab31/envwizard-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-02 12:46:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yourusername",
    "github_project": "envwizard",
    "github_not_found": true,
    "lcname": "envwizard"
}
        
Elapsed time: 2.14408s