Skip to main content

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

Package Name Check

Environment Information

Environment Information

Features

Core Features

  1. Package Name Validation

    • Real-time PyPI availability check
    • PEP 503 naming convention validation
    • Standardized name formatting
    • Similar package name search
  2. Environment Management

    • Virtual environment creation and management
    • Project information display
    • System environment inspection
    • Development setup assistance
  3. Rich User Interface

    • Color-coded status indicators
    • Formatted results presentation
    • Clear error messages
    • Intuitive command structure
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymin-0.0.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymin-0.0.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

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

Hashes for pymin-0.0.1.tar.gz
Algorithm Hash digest
SHA256 b2fcc9fb4789c4fd8469b2dd393b1db5f3eb28881413507bc0e64dd1a42cdc2a
MD5 c4cedefc0146085afe4bb4963005210a
BLAKE2b-256 a6fa0c7baa1deecc346f7830deb95f820911a777c37a8405244015ef14db6b2e

See more details on using hashes here.

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

Hashes for pymin-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2913b702a0fae1efd06320ba3acadc7482c55643e931fe7330fa0f93940c6ffe
MD5 9cc2f01e1a68139366b63fe6a481e95d
BLAKE2b-256 865088261363c6b0dbf279ae04ed3c907bb2f2abd8707b1dc4a4c67ff1432574

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page