A command-line utility for listing Python package versions from PyPI
Project description
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)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ppvc-1.0.0.tar.gz.
File metadata
- Download URL: ppvc-1.0.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76e9c3049f7edeb935219c280ad2200b0fdfa6e839b4b8c591a908b853a9d87b
|
|
| MD5 |
25da0ef75ace810ac6c7e6c9a5e790bd
|
|
| BLAKE2b-256 |
5ae7cad36ab2074667805d011a25d2427c114ee370d04a753ba2587d7c515359
|
File details
Details for the file ppvc-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ppvc-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b82af847e919029abf829bae0eb50013b9dfcdbbd1385d0adec7338bff8282e2
|
|
| MD5 |
ab76389448eb6cab8abe71047b02f99d
|
|
| BLAKE2b-256 |
6a4a3995cbc59d94d495427b508f9dd49d41822e7514ffd6888d42f985a74f28
|