A CLI tool to check PyPI package name availability
Project description
PyMin
pymin (0.0.1)
PyMin embodies Python's minimalist philosophy: a focused tool that does one thing exceptionally well. The name reflects our commitment to minimalism - minimal configuration, minimal complexity, but maximum effectiveness in Python development workflow.
Just as Python emphasizes readability and simplicity, PyMin provides a clean, intuitive interface for package management and development environment setup. No unnecessary features, no complex configurations - just straightforward, reliable development tools.
The name "PyMin" carries dual meanings:
In English: "Py" (Python) + "Min" (Minimal/Minimalist)
- Represents our commitment to minimalist design and focused functionality
- Follows Python's "Simple is better than complex" philosophy
In Taiwanese: "歹命" (Pháiⁿ-miā)
- A humorous reference to the common challenges in Python development
- Reflects developers' daily struggles with environment setup and package management
- Turns development pain points into a playful and helpful tool
This duality in naming captures both our design philosophy and the real-world problems we're solving, while adding a touch of Taiwanese developer humor to the Python ecosystem.
A CLI tool for PyPI package management, providing package name validation, virtual environment management, and project information display with rich output formatting.
Package Name Validation
Environment Information
Features
Core Features
-
Package Name Validation
- Real-time PyPI availability check
- PEP 503 naming convention validation
- Standardized name formatting
- Similar package name search
-
Environment Management
- Virtual environment creation and management
- Project information display
- System environment inspection
- Development setup assistance
-
Rich User Interface
- Color-coded status indicators
- Formatted results presentation
- Clear error messages
- Intuitive command structure
-
Developer Experience
- Minimal configuration required
- Straightforward workflows
- Real-time feedback
- Comprehensive environment info
Installation
Quick Start
Install via pipx:
$ pipx install pymin
System Requirements
| Component | Requirement |
|---|---|
| Python | >=3.8 |
| OS | Platform independent |
Usage
Command Interface
The CLI provides two command interfaces:
| Command | Description |
|---|---|
| pm | Main command (recommended) |
| pymin | Alternative full name |
Available Commands
| Command | Description |
|---|---|
| check | Check package name availability |
| search | Search for similar package names |
| venv | Create a virtual environment |
| activate | Show venv activation command |
| deactivate | Show venv deactivation command |
| info | Show environment information |
Command Examples
Check Package Name
$ pm check my-package-name
┌─ PyPI Package Name Check Results ─┐
│ Package Name: my-package-name │
│ Normalized Name: my-package-name │
│ Valid Format: ✓ │
│ Available: ✓ │
│ Message: Package name available! │
└───────────────────────────────────┘
Search Similar Names
# Default similarity (80%)
$ pm search fastapi
# Custom similarity threshold
$ pm search fastapi --threshold 0.85
Create Virtual Environment
# Create with default name 'env'
$ pm venv
# Create with custom name
$ pm venv my_env
Command Details
check
Check if a package name is available on PyPI
pm check NAME
NAME: Package name to validate (required)
search
Search for similar package names on PyPI
pm search NAME [--threshold VALUE]
NAME: Package name to search for (required)--threshold VALUE: Similarity threshold, 0.0-1.0 (default: 0.8)
venv
Create a virtual environment
pm venv [NAME]
NAME: Virtual environment name (default: env)
activate, deactivate
Show virtual environment activation/deactivation commands
pm activate
pm deactivate
info
Display environment information
pm info
License
This project is licensed under the MIT License.
Project Structure
pymin/
├── docs/
│ └── images/
│ ├── check_package.png
│ └── env_info.png
├── src/
│ └── pymin/
│ ├── __main__.py # Allow direct execution of the package
│ ├── check.py # Package name validation service with PyPI availability checking and security analysis
│ ├── cli.py # Command-line interface providing PyPI package name validation and search functionality
│ ├── search.py # Package name similarity search service with PyPI integration
│ ├── security.py # Security service for package name typosquatting detection and analysis
│ ├── similarity.py # String similarity analysis service for package name comparison
│ ├── utils.py # Utility functions for package name normalization and string manipulation
│ ├── validators.py # Package name validation service implementing PyPI naming conventions
│ └── venv.py # CLI environment management service
├── LICENSE
├── pyproject.toml
├── readgen.toml
└── README.md
This document was automatically generated by ReadGen.
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 pymin-0.0.1.tar.gz.
File metadata
- Download URL: pymin-0.0.1.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2fcc9fb4789c4fd8469b2dd393b1db5f3eb28881413507bc0e64dd1a42cdc2a
|
|
| MD5 |
c4cedefc0146085afe4bb4963005210a
|
|
| BLAKE2b-256 |
a6fa0c7baa1deecc346f7830deb95f820911a777c37a8405244015ef14db6b2e
|
File details
Details for the file pymin-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pymin-0.0.1-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2913b702a0fae1efd06320ba3acadc7482c55643e931fe7330fa0f93940c6ffe
|
|
| MD5 |
9cc2f01e1a68139366b63fe6a481e95d
|
|
| BLAKE2b-256 |
865088261363c6b0dbf279ae04ed3c907bb2f2abd8707b1dc4a4c67ff1432574
|