PPVC (Python Package Version Checker)
PPVC is a simple and efficient command-line utility that queries PyPI (Python Package Index) for available versions of Python packages. It's designed to be fast, reliable, and easy to use.
Features
- List all available versions of a Python package
- Get only the latest version of a package
- Limit the number of versions displayed
- Simple and intuitive command-line interface
- Fast response times
- Error handling for network issues and non-existent packages
- Beautiful colorized output with formatted tables
- Version type classification (Final, Pre-release, Post-release)
Installation
You can install PPVC using pip:
pip install ppvc
Usage
Basic Usage
List all available versions of a package:
ppvc requests
Get Latest Version
Show only the latest version of a package:
ppvc requests --latest
Limit Versions
Show only the first N versions:
ppvc django --limit 5
Examples
# List all versions of the requests package
ppvc requests
# Get the latest version of numpy
ppvc numpy --latest
# Check versions of a specific package
ppvc django
# Show only the 10 most recent versions
ppvc flask --limit 10
Command Line Options
--help: Show help message--version: Show version information--latest: Show only the latest version--limit N: Limit the number of versions shown to N
Error Handling
PPVC provides clear error messages for common issues:
- Package not found on PyPI
- Network connection problems
- Invalid package names
Requirements
- Python 3.8 or higher
- Internet connection to access PyPI
- packaging>=23.0 (for version parsing)
- rich>=13.0.0 (for terminal formatting)
Development
Local Development Setup
# Clone the repository
git clone https://github.com/rapidrabbitsoft/ppvc.git
cd ppvc
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .
# Test the package
python test_ppvc.py
Building the Package
# Install build tools
pip install build twine
# Build the package
python -m build
# Install locally
pip install dist/*.whl
Publishing to PyPI
This package is configured for automated publishing to PyPI using GitHub Actions. See PUBLISHING.md for detailed instructions.
Quick Publishing Steps
- Update version in
pyproject.tomlandppvc/ppvc.py - Create a new GitHub release with the version tag
- The GitHub Action will automatically build and publish to PyPI
Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a new branch for your feature
- Make your changes
- Run tests:
python test_ppvc.py - Submit a pull request
For major changes, please open an issue first to discuss what you would like to change.
License
This project is licensed under the BSD 2-Clause License - see the LICENSE file for details.
Author
Chris McMichael (python@apprabb.it)
Metadata
Release files for ppvc 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ppvc-1.0.0.tar.gz | 5.9 kB | Without provenance | Details for ppvc-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ppvc-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for ppvc-1.0.0-py3-none-any.whl |
Total release size: 11.6 kB
Release files / ppvc-1.0.0.tar.gz
| Download URL | ppvc-1.0.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76e9c3049f7edeb935219c280ad2200b0fdfa6e839b4b8c591a908b853a9d87b
|
|
BLAKE2b-256 checksum How to use checksums |
5ae7cad36ab2074667805d011a25d2427c114ee370d04a753ba2587d7c515359
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / ppvc-1.0.0-py3-none-any.whl
| Download URL | ppvc-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b82af847e919029abf829bae0eb50013b9dfcdbbd1385d0adec7338bff8282e2
|
|
BLAKE2b-256 checksum How to use checksums |
6a4a3995cbc59d94d495427b508f9dd49d41822e7514ffd6888d42f985a74f28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Security for ppvc 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.