Metadata-Version: 2.4
Name: pymin
Version: 0.0.0
Summary: A CLI tool to check PyPI package name availability
Project-URL: Homepage, https://github.com/TaiwanBigdata/pymin
Project-URL: Repository, https://github.com/TaiwanBigdata/pymin.git
Author-email: Albert Liu <dreamerhyde@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: cli,package-name,pypi,validation
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Requires-Dist: click>=8.0.0
Requires-Dist: packaging>=21.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: requests>=2.25.0
Requires-Dist: rich>=10.0.0
Provides-Extra: dev
Requires-Dist: black>=22.0.0; extra == 'dev'
Requires-Dist: flake8>=4.0.0; extra == 'dev'
Requires-Dist: isort>=5.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# PyMin

### pymin (0.0.0)

A command-line interface tool for checking PyPI package name availability with rich output formatting and validation rules.


# Features

## Core Features

1. Package Name Validation
   - Real-time PyPI availability check
   - PEP 503 naming convention validation
   - Standardized name formatting
   - Typosquatting detection

2. Rich User Interface
   - Color-coded status indicators
   - Interactive progress display
   - Formatted results presentation
   - Visual validation markers

3. Developer Experience
   - Intuitive command structure
   - Comprehensive error messages
   - Real-time feedback
   - Multiple command aliases


# Installation

## Quick Start

Install via pipx:
```bash
$ pipx install pymin
```

### System Requirements
| Component | Requirement                |
|-----------|----------------------------|
| Python    | >=3.8 |
| OS        | Platform independent       |


# Usage

## Command Interface

The CLI provides two command interfaces:

| Command | Description         |
|---------|---------------------|
| pymin   | Main command        |
| pm      | Short alias         |

### Basic Usage
```bash
❯ pymin
🔍 PyPI Package Name Checker

# or using alias
❯ pm
🔍 PyPI Package Name Checker
```

### Available Commands
| Command | Description                       |
|---------|---------------------------------- |
| check   | Validate package name availability|
| search  | Find similar package names        |

### Command Examples

#### Check Package Name
```bash
$ pymin 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
```bash
# Default similarity (80%)
$ pm search fastapi

# Custom similarity threshold
$ pm search fastapi --threshold 0.85
```

### Command Options
| Command | Option      | Description                        | Type  | Default |
|---------|-------------|------------------------------------| ------|---------|
| check   | name        | Target package name to validate    | str   | -       |
| search  | name        | Package name to search for         | str   | -       |
| search  | --threshold | Similarity threshold (0.0-1.0)     | float | 0.8     |


# License

This project is licensed under the MIT License.


# Project Structure

```
pymin/
├── src/
│   └── pypi_toolkit/
│       ├── 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
│       ├── packaging.py   # Package version validation service using PEP 440 standards
│       ├── 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
├── LICENSE
├── pyproject.toml
├── readgen.toml
└── README.md
```


---
> This document was automatically generated by [ReadGen](https://github.com/TaiwanBigdata/readgen).
