Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Project Manager (PPM)

Python 3.12+ Typer Rich License: MIT

Python Project Manager (PPM) is a lightweight, class-based CLI utility designed to help developers bootstrap and manage Python project scaffolding more efficiently.

It provides reusable commands for creating common project files and environments, making it easier to start new Python projects with a clean and consistent structure.

Table of Contents

Overview

PPM is a lightweight, class-based CLI utility for speeding up common Python project setup tasks. It helps developers generate environments, configuration files, and cleanup artifacts quickly while keeping the codebase modular and easy to extend.

Features

  • Create a Python virtual environment using python -m venv
  • Generate .env and .env.example files
  • Create a basic pyproject.toml scaffold
  • Generate a .gitignore file for Python projects
  • Remove all __pycache__ folders recursively
  • Automatically discover and register CLI commands from the ppm.commands package
  • Provide rich terminal output using rich
  • Keep the architecture modular and easy to extend with BaseTool
  • Speed up project bootstrapping for Python developers

PPM follows a lightweight plugin-style architecture:

  • BaseTool defines the contract for all CLI command tools
  • Commands are discovered dynamically from the ppm.commands package
  • ppm.cli registers commands at runtime

This keeps the project simple to expand without changing the core CLI structure.

Quick Start

Installation

Install the package in editable mode from the project root:

pip install -e .

Basic Usage

ppm --help

Available Commands

ppm create-venv
ppm create-env
ppm create-toml
ppm create-ignore
ppm clean-pycache

Examples

ppm create-venv
ppm create-env
ppm create-toml
ppm create-ignore
ppm clean-pycache --yes

These commands generate a virtual environment, project config files, and remove Python cache directories safely and quickly.

Project Structure

ppm/
├── __init__.py
├── base.py
├── cli.py
├── utils.py
└── commands/
    ├── clean_pycache.py
    ├── create_env.py
    ├── create_ignore.py
    ├── create_toml.py
    └── create_venv.py

Requirements

  • Python 3.12+
  • pip
  • setuptools

Roadmap

Planned improvements include:

  • More scaffolding commands
  • Better command customization
  • Interactive setup prompts
  • Support for additional templates and project types

Contributing

Contributions are welcome. To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Open a pull request with a clear description

Author

Developed by: Bijay

License

This project is licensed under the MIT License.

About

A lightweight, modular, and class-based CLI utility to quickly bootstrap, manage, and scaffold Python projects. Built with Typer and Rich.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages