Skip to content

AlexandrosLiaskos/pyboost

Repository files navigation

PyBoost - Ultimate Python Code Maintenance Toolkit

PyPI version Python versions License

PyBoost is a comprehensive toolkit for cleaning, optimizing, and improving Python code. It integrates multiple tools into a single, easy-to-use package.

Features

PyBoost combines the following tools:

  1. pybackup - Create backups of Python files with timestamps
  2. rmcm - Remove comments and docstrings (optional)
  3. autoflake - Remove unused imports and variables
  4. pyupgrade - Upgrade to modern Python syntax
  5. isort - Sort imports
  6. black - Format code
  7. ruff - Lint and check for errors
  8. mypy - Static type checking (optional)
  9. bandit - Security checks (optional)
  10. vulture - Find dead code (optional)

Installation

The package is available on PyPI as pyboost-toolkit.

Note: While the package name is pyboost-toolkit, the command-line tools are still named pyboost, pybackup, etc.

Basic Installation

pip install pyboost-toolkit

Full Installation (with all optional tools)

pip install pyboost-toolkit[all]

Development Installation

pip install pyboost-toolkit[dev]

Usage

Basic Usage

pyboost /path/to/your/python/project

Options

usage: pyboost [-h] [--no-bak] [--backup-dir BACKUP_DIR] [--skip SKIP]
               [--aggressive] [--backup-only] [--list-tools] [--verbose]
               directory

Ultimate Python Code Maintenance Toolkit

positional arguments:
  directory             Directory containing Python files to process

options:
  -h, --help            show this help message and exit
  --no-bak              Skip creating backup files (backups are stored in the
                        codebase by default)
  --backup-dir BACKUP_DIR
                        Directory to store backups (default: <codebase>/backup)
  --skip SKIP           Comma-separated list of tools to skip (e.g.,
                        'rmcm,mypy,bandit')
  --aggressive          Enable aggressive mode (includes comment removal and
                        other potentially destructive operations)
  --backup-only         Only create backups, don't process files
  --list-tools          List all available tools and exit
  --verbose, -v         Enable verbose output

Examples

Basic Usage

pyboost ~/projects/my_python_project

Skip Optional Tools

pyboost ~/projects/my_python_project --skip=mypy,bandit,vulture

Aggressive Mode (includes comment removal)

pyboost ~/projects/my_python_project --aggressive

Backup Only

pyboost ~/projects/my_python_project --backup-only

Custom Backup Directory

pyboost ~/projects/my_python_project --backup-dir ~/backups/python_projects

Individual Tools

PyBoost also provides access to individual tools:

PyBackup

Create backups of Python files with timestamps.

pybackup /path/to/your/python/project

PyRMCM (Remove Comments)

Remove comments and docstrings from Python files.

pyrmcm input_file.py output_file.py

PyFormat

Format Python files by removing comments and applying Black.

pyformat /path/to/your/python/project

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository from GitHub
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

toolkit for cleaning, optimizing, and improving Python code

Resources

License

Contributing

Stars

4 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages