pivvo


Namepivvo JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryCLI tool to auto-init Python projects with venv, git, and basic files.
upload_time2025-10-22 07:29:19
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords cli project automation python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pivvo

[![PyPI version](https://img.shields.io/pypi/v/pivvo.svg)](https://pypi.org/project/pivvo/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![CI](https://github.com/Flaxmbot/pivvo/workflows/CI/badge.svg)](https://github.com/Flaxmbot/pivvo/actions)

<div align="center">
  <pre>
    ____  _                 
   / __ \(_)   ___   ______ 
  / /_/ / / | / / | / / __ \
 / ____/ /| |/ /| |/ / /_/ /
/_/   /_/ |___/ |___/\____/ 
  </pre>
</div>

> A small, pragmatic CLI tool to initialize and manage Python projects with ease. Bootstrap your projects, manage dependencies, and streamline your workflowβ€”all from the command line.

pivvo helps developers quickly set up Python projects with virtual environments, Git repositories, and essential files. It provides a suite of commands to manage dependencies, run scripts, and maintain your project's environment without leaving the terminal.

## Table of Contents

- [✨ Features](#-features)
- [πŸ“¦ Installation](#-installation)
- [πŸš€ Quickstart](#-quickstart)
- [πŸ“– Commands](#-commands)
- [πŸ› οΈ Development](#️-development)
- [🀝 Contributing](#-contributing)
- [πŸ“„ License](#-license)
- [πŸ‘₯ Authors](#-authors)

## ✨ Features

- **Project Initialization**: Create new Python projects with virtual environments, Git repos, and basic files in seconds
- **Dependency Management**: Install, list, freeze, upgrade, and remove packages within the project's venv
- **Script Execution**: Run Python scripts directly inside the project's virtual environment
- **Beautiful Output**: Rich terminal interface with progress indicators and colored output
- **Error Handling**: Comprehensive error logging for troubleshooting
- **Cross-Platform**: Works on Windows, macOS, and Linux
- **Lightweight**: Minimal dependencies for fast installation and execution

## πŸ“¦ Installation

### From PyPI (Recommended)

```bash
pip install pivvo
```

### From Source

```bash
git clone https://github.com/Flaxmbot/pivvo.git
cd pivvo
pip install -e .
```

### Prerequisites

- Python 3.10 or higher
- pip (usually included with Python)

## πŸš€ Quickstart

1. **Install pivvo**:
   ```bash
   pip install pivvo
   ```

2. **Initialize a new project**:
   ```bash
   pivvo init my-awesome-project
   cd my-awesome-project
   ```

3. **Install dependencies**:
   ```bash
   pivvo install-deps requests flask python-dotenv
   ```

4. **Run your application**:
   ```bash
   pivvo run app.py
   ```

That's it! Your project is ready with a virtual environment, Git repository, and all dependencies installed.

## πŸ“– Commands

pivvo provides the following commands:

| Command | Description |
|---------|-------------|
| `pivvo init <name>` | Initialize a new project directory with venv and Git |
| `pivvo install-deps [packages...]` | Install packages into the local venv. Use `-f/--file` to install from requirements file |
| `pivvo run <script.py>` | Execute a Python script inside the venv |
| `pivvo list` | List all packages installed in the venv |
| `pivvo freeze` | Write current venv packages to `requirements.txt` |
| `pivvo upgrade` | Upgrade all packages listed in `requirements.txt` to latest versions |
| `pivvo remove <package>` | Uninstall a package and update `requirements.txt` |

### Getting Help

```bash
# General help
pivvo --help

# Command-specific help
pivvo install-deps --help
pivvo init --help
```

## πŸ› οΈ Development

### Setting Up Development Environment

```bash
git clone https://github.com/Flaxmbot/pivvo.git
cd pivvo
python -m venv venv
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
pip install -r requirements.txt
```

### Project Structure

```
pivvo/
β”œβ”€β”€ pivvo/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ cli.py          # Main CLI implementation
β”‚   └── main.py         # Package entry point
β”œβ”€β”€ tests/              # Unit tests
β”œβ”€β”€ requirements.txt    # Dependencies
β”œβ”€β”€ pyproject.toml      # Package configuration
β”œβ”€β”€ LICENSE
β”œβ”€β”€ CONTRIBUTING.md
└── README.md
```

### Running Tests

```bash
# Install test dependencies
pip install pytest

# Run tests
pytest

# Run with coverage
pytest --cov=pivvo
```

### Development Notes

- **CLI Implementation**: Located in `pivvo/cli.py` using Typer for argument parsing
- **Terminal Output**: Uses Rich for beautiful, colored terminal output
- **Error Logging**: Failed subprocess commands are logged to `pivvo-error.log`
- **Git Integration**: Uses GitPython for repository initialization
- **Cross-Platform**: Handles different Python executable paths for Windows/macOS/Linux

### Tips for Windows Development

When using Git Bash on Windows, you might see raw ANSI escape codes. Solutions:
- Force ANSI rendering: Modify `cli.py` to use `Console(force_terminal=True, color_system="auto")`
- Use `winpty`: `winpty python pivvo/main.py ...`
- Use PowerShell, CMD, or Windows Terminal instead of Git Bash

## 🀝 Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details on:

- Reporting bugs
- Requesting features
- Setting up your development environment
- Submitting pull requests
- Code style guidelines

### Quick Contribution Flow

1. Fork the repository
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Add tests for your changes
4. Ensure all tests pass: `pytest`
5. Commit your changes: `git commit -m "Add amazing feature"`
6. Push to your branch: `git push origin feature/amazing-feature`
7. Open a Pull Request

## πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## πŸ‘₯ Authors

- **Devrat Kuntal** - *Creator & Maintainer* - [rdxdevbhai76@gmail.com](mailto:rdxdevbhai76@gmail.com)

---

<div align="center">
  <p>Made with ❀️ for the Python community</p>
  <p>
    <a href="#pivvo">Back to top</a> β€’
    <a href="https://github.com/Flaxmbot/pivvo/issues">Report Bug</a> β€’
    <a href="https://github.com/Flaxmbot/pivvo/issues">Request Feature</a>
  </p>
</div>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pivvo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "cli, project, automation, python",
    "author": null,
    "author_email": "Devrat Kuntal <rdxdevbhai76@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/ba/c7/81276de99830ba781d6126f2370bda819e96ebd28a8df68b36b96efd086f/pivvo-0.1.1.tar.gz",
    "platform": null,
    "description": "# Pivvo\r\n\r\n[![PyPI version](https://img.shields.io/pypi/v/pivvo.svg)](https://pypi.org/project/pivvo/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\r\n[![CI](https://github.com/Flaxmbot/pivvo/workflows/CI/badge.svg)](https://github.com/Flaxmbot/pivvo/actions)\r\n\r\n<div align=\"center\">\r\n  <pre>\r\n    ____  _                 \r\n   / __ \\(_)   ___   ______ \r\n  / /_/ / / | / / | / / __ \\\r\n / ____/ /| |/ /| |/ / /_/ /\r\n/_/   /_/ |___/ |___/\\____/ \r\n  </pre>\r\n</div>\r\n\r\n> A small, pragmatic CLI tool to initialize and manage Python projects with ease. Bootstrap your projects, manage dependencies, and streamline your workflow\u2014all from the command line.\r\n\r\npivvo helps developers quickly set up Python projects with virtual environments, Git repositories, and essential files. It provides a suite of commands to manage dependencies, run scripts, and maintain your project's environment without leaving the terminal.\r\n\r\n## Table of Contents\r\n\r\n- [\u2728 Features](#-features)\r\n- [\ud83d\udce6 Installation](#-installation)\r\n- [\ud83d\ude80 Quickstart](#-quickstart)\r\n- [\ud83d\udcd6 Commands](#-commands)\r\n- [\ud83d\udee0\ufe0f Development](#\ufe0f-development)\r\n- [\ud83e\udd1d Contributing](#-contributing)\r\n- [\ud83d\udcc4 License](#-license)\r\n- [\ud83d\udc65 Authors](#-authors)\r\n\r\n## \u2728 Features\r\n\r\n- **Project Initialization**: Create new Python projects with virtual environments, Git repos, and basic files in seconds\r\n- **Dependency Management**: Install, list, freeze, upgrade, and remove packages within the project's venv\r\n- **Script Execution**: Run Python scripts directly inside the project's virtual environment\r\n- **Beautiful Output**: Rich terminal interface with progress indicators and colored output\r\n- **Error Handling**: Comprehensive error logging for troubleshooting\r\n- **Cross-Platform**: Works on Windows, macOS, and Linux\r\n- **Lightweight**: Minimal dependencies for fast installation and execution\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n### From PyPI (Recommended)\r\n\r\n```bash\r\npip install pivvo\r\n```\r\n\r\n### From Source\r\n\r\n```bash\r\ngit clone https://github.com/Flaxmbot/pivvo.git\r\ncd pivvo\r\npip install -e .\r\n```\r\n\r\n### Prerequisites\r\n\r\n- Python 3.10 or higher\r\n- pip (usually included with Python)\r\n\r\n## \ud83d\ude80 Quickstart\r\n\r\n1. **Install pivvo**:\r\n   ```bash\r\n   pip install pivvo\r\n   ```\r\n\r\n2. **Initialize a new project**:\r\n   ```bash\r\n   pivvo init my-awesome-project\r\n   cd my-awesome-project\r\n   ```\r\n\r\n3. **Install dependencies**:\r\n   ```bash\r\n   pivvo install-deps requests flask python-dotenv\r\n   ```\r\n\r\n4. **Run your application**:\r\n   ```bash\r\n   pivvo run app.py\r\n   ```\r\n\r\nThat's it! Your project is ready with a virtual environment, Git repository, and all dependencies installed.\r\n\r\n## \ud83d\udcd6 Commands\r\n\r\npivvo provides the following commands:\r\n\r\n| Command | Description |\r\n|---------|-------------|\r\n| `pivvo init <name>` | Initialize a new project directory with venv and Git |\r\n| `pivvo install-deps [packages...]` | Install packages into the local venv. Use `-f/--file` to install from requirements file |\r\n| `pivvo run <script.py>` | Execute a Python script inside the venv |\r\n| `pivvo list` | List all packages installed in the venv |\r\n| `pivvo freeze` | Write current venv packages to `requirements.txt` |\r\n| `pivvo upgrade` | Upgrade all packages listed in `requirements.txt` to latest versions |\r\n| `pivvo remove <package>` | Uninstall a package and update `requirements.txt` |\r\n\r\n### Getting Help\r\n\r\n```bash\r\n# General help\r\npivvo --help\r\n\r\n# Command-specific help\r\npivvo install-deps --help\r\npivvo init --help\r\n```\r\n\r\n## \ud83d\udee0\ufe0f Development\r\n\r\n### Setting Up Development Environment\r\n\r\n```bash\r\ngit clone https://github.com/Flaxmbot/pivvo.git\r\ncd pivvo\r\npython -m venv venv\r\n# On Windows:\r\nvenv\\Scripts\\activate\r\n# On macOS/Linux:\r\nsource venv/bin/activate\r\npip install -r requirements.txt\r\n```\r\n\r\n### Project Structure\r\n\r\n```\r\npivvo/\r\n\u251c\u2500\u2500 pivvo/\r\n\u2502   \u251c\u2500\u2500 __init__.py\r\n\u2502   \u251c\u2500\u2500 cli.py          # Main CLI implementation\r\n\u2502   \u2514\u2500\u2500 main.py         # Package entry point\r\n\u251c\u2500\u2500 tests/              # Unit tests\r\n\u251c\u2500\u2500 requirements.txt    # Dependencies\r\n\u251c\u2500\u2500 pyproject.toml      # Package configuration\r\n\u251c\u2500\u2500 LICENSE\r\n\u251c\u2500\u2500 CONTRIBUTING.md\r\n\u2514\u2500\u2500 README.md\r\n```\r\n\r\n### Running Tests\r\n\r\n```bash\r\n# Install test dependencies\r\npip install pytest\r\n\r\n# Run tests\r\npytest\r\n\r\n# Run with coverage\r\npytest --cov=pivvo\r\n```\r\n\r\n### Development Notes\r\n\r\n- **CLI Implementation**: Located in `pivvo/cli.py` using Typer for argument parsing\r\n- **Terminal Output**: Uses Rich for beautiful, colored terminal output\r\n- **Error Logging**: Failed subprocess commands are logged to `pivvo-error.log`\r\n- **Git Integration**: Uses GitPython for repository initialization\r\n- **Cross-Platform**: Handles different Python executable paths for Windows/macOS/Linux\r\n\r\n### Tips for Windows Development\r\n\r\nWhen using Git Bash on Windows, you might see raw ANSI escape codes. Solutions:\r\n- Force ANSI rendering: Modify `cli.py` to use `Console(force_terminal=True, color_system=\"auto\")`\r\n- Use `winpty`: `winpty python pivvo/main.py ...`\r\n- Use PowerShell, CMD, or Windows Terminal instead of Git Bash\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details on:\r\n\r\n- Reporting bugs\r\n- Requesting features\r\n- Setting up your development environment\r\n- Submitting pull requests\r\n- Code style guidelines\r\n\r\n### Quick Contribution Flow\r\n\r\n1. Fork the repository\r\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\r\n3. Add tests for your changes\r\n4. Ensure all tests pass: `pytest`\r\n5. Commit your changes: `git commit -m \"Add amazing feature\"`\r\n6. Push to your branch: `git push origin feature/amazing-feature`\r\n7. Open a Pull Request\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83d\udc65 Authors\r\n\r\n- **Devrat Kuntal** - *Creator & Maintainer* - [rdxdevbhai76@gmail.com](mailto:rdxdevbhai76@gmail.com)\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n  <p>Made with \u2764\ufe0f for the Python community</p>\r\n  <p>\r\n    <a href=\"#pivvo\">Back to top</a> \u2022\r\n    <a href=\"https://github.com/Flaxmbot/pivvo/issues\">Report Bug</a> \u2022\r\n    <a href=\"https://github.com/Flaxmbot/pivvo/issues\">Request Feature</a>\r\n  </p>\r\n</div>\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "CLI tool to auto-init Python projects with venv, git, and basic files.",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "cli",
        " project",
        " automation",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "396e31bc7674ca8c8d4f3fa8e56afdb298827a51c5729da98dd2ae09123910e9",
                "md5": "f6387b831ae92d65afb2f5d9e7a8d75e",
                "sha256": "f6aec7f4e9f9ba8d49ed57c43f472a5bfebe9742c98bd861fc081eec2184135a"
            },
            "downloads": -1,
            "filename": "pivvo-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f6387b831ae92d65afb2f5d9e7a8d75e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 7775,
            "upload_time": "2025-10-22T07:29:18",
            "upload_time_iso_8601": "2025-10-22T07:29:18.369948Z",
            "url": "https://files.pythonhosted.org/packages/39/6e/31bc7674ca8c8d4f3fa8e56afdb298827a51c5729da98dd2ae09123910e9/pivvo-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bac781276de99830ba781d6126f2370bda819e96ebd28a8df68b36b96efd086f",
                "md5": "07de3b6f4de896e10e92b20f924fa100",
                "sha256": "de24fa24ab8677b413bdfa3b5b4da7e8459b5668fefc6a10b01d9338fd53df87"
            },
            "downloads": -1,
            "filename": "pivvo-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "07de3b6f4de896e10e92b20f924fa100",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 9228,
            "upload_time": "2025-10-22T07:29:19",
            "upload_time_iso_8601": "2025-10-22T07:29:19.409617Z",
            "url": "https://files.pythonhosted.org/packages/ba/c7/81276de99830ba781d6126f2370bda819e96ebd28a8df68b36b96efd086f/pivvo-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-22 07:29:19",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pivvo"
}
        
Elapsed time: 2.30462s