Metadata-Version: 2.4
Name: pyboost-toolkit
Version: 0.1.0
Summary: Ultimate Python Code Maintenance Toolkit
Home-page: https://github.com/AlexandrosLiaskos/pyboost
Author: Alexandros Liaskos
Author-email: alexandros.liaskos@example.com
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Provides-Extra: rmcm
Provides-Extra: all
Requires-Dist: autoflake>=2.0.0; extra == "all"
Requires-Dist: pyupgrade>=3.0.0; extra == "all"
Requires-Dist: isort>=5.0.0; extra == "all"
Requires-Dist: black>=23.0.0; extra == "all"
Requires-Dist: ruff>=0.0.1; extra == "all"
Requires-Dist: mypy>=1.0.0; extra == "all"
Requires-Dist: bandit>=1.0.0; extra == "all"
Requires-Dist: vulture>=2.0.0; extra == "all"
Requires-Dist: rich>=13.0.0; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# PyBoost Toolkit - Ultimate Python Code Maintenance Toolkit

PyBoost Toolkit 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

### Basic Installation

```bash
pip install pyboost-toolkit
```

### Full Installation (with all optional tools)

```bash
pip install pyboost-toolkit[all]
```

### Development Installation

```bash
pip install pyboost-toolkit[dev]
```

### Installation from GitHub

```bash
pip install git+https://github.com/AlexandrosLiaskos/pyboost.git
```

## Usage

### Basic Usage

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

```bash
pyboost ~/projects/my_python_project
```

#### Skip Optional Tools

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

#### Aggressive Mode (includes comment removal)

```bash
pyboost ~/projects/my_python_project --aggressive
```

#### Backup Only

```bash
pyboost ~/projects/my_python_project --backup-only
```

#### Custom Backup Directory

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

```bash
pybackup /path/to/your/python/project
```

### PyRMCM (Remove Comments)

Remove comments and docstrings from Python files.

```bash
pyrmcm input_file.py output_file.py
```

### PyFormat

Format Python files by removing comments and applying Black.

```bash
pyformat /path/to/your/python/project
```

## Contributing

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

1. Fork the repository from [GitHub](https://github.com/AlexandrosLiaskos/pyboost)
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.
