Skip to main content

A minimalist Python CLI tool for development workflow. Named after Taiwanese '歹命' (Pháiⁿ-miā), it turns common development pain points into simple solutions, providing package name validation, virtual environment management, and project information display with minimal configuration.

Project description

PyMin

pymin (0.0.2)

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.2.tar.gz (15.7 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.2-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file pymin-0.0.2.tar.gz.

File metadata

  • Download URL: pymin-0.0.2.tar.gz
  • Upload date:
  • Size: 15.7 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.2.tar.gz
Algorithm Hash digest
SHA256 1ebb6b114f96223274e59d5ca9ca91381cfd24c72bffc5a4bf4dc76d998fc98b
MD5 12905067a656f9b2ceb6a7c2c4ce224f
BLAKE2b-256 e3381730222ddfbe664022ba9a96884a9b13d0e2a851923c1d46915374f5bd85

See more details on using hashes here.

File details

Details for the file pymin-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: pymin-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 16.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3c8a63861d0e284ba3e8745c8b88b24fb12c0e445c6b412d29b78eea83026c9d
MD5 0c77f2e99de48240259f5c6e1f6ad14c
BLAKE2b-256 0b7c1fa8bd9b8095ec8756b6aca8b326911cac33f3016787ae459ae4c545b474

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