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.3)

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
│       ├── package.py         # Package management functionality providing dependency handling and requirements.txt management
│       ├── 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.3.tar.gz (26.9 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.3-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pymin-0.0.3.tar.gz
  • Upload date:
  • Size: 26.9 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.3.tar.gz
Algorithm Hash digest
SHA256 9390ab962468b3b0a44759e35b3898ea58103c62e8ba57d5eb08a046132a192c
MD5 8c32c47e41bb989cb6867fad0115e8d5
BLAKE2b-256 d4b84b2de0972991afd13fa621160e291c8f74a08f5dbe45164104e4cd72ab01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymin-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 27.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 64a5961f3a57c1fa58293ff0492d6f50198791311274c9b61f1c77ba131ff2cd
MD5 c20050a7b616aa55076c98f0b9c25885
BLAKE2b-256 a145d16643949dafb0fc5730b4023742d95b695164ccfa094c0d9db177a96b6e

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