pypi-reserve
pypi-reserve is a single-file, zero-dependency CLI for Python 3.9+ that
validates a PyPI project name against every rule PyPI enforces, then publishes a
minimal first release under it.
Features
-
The five checks PyPI runs at project creation, reproduced locally. A name is refused if it is invalid, already exists, is on the prohibited list, shadows a standard library module, or is too similar to an existing project. That last one is computed from warehouse's own
ultranormalizekey — normally it only fails at upload time, after you have picked the name and told people about it. -
An offline name index. One PEP 691 download of the full project list — 874,595 names — cached as a 4 MB gzip, so every subsequent check runs locally and instantly.
-
Alternative name suggestions. Generated in tiers (vendor prefix, compound and reversed word forms, suffixes, prefixes, numeric variants) and each run through the same five checks, so a suggestion is never a name PyPI would turn around and reject.
-
Zero dependencies. Wheels and sdists are assembled with
zipfileandtarfile; uploads are a multipart POST overurllibto the same endpoint twine uses. Field names, digest encodings and filename normalization follow warehouse'sforklift/legacy.py— PEP 427 wheel names, PEP 625 sdist names, PEP 503 normalization,sha256_digestandblake2_256_digest. Pass--use-twineto hand the upload step to twine instead. -
Rehearsal before anything is permanent.
--dry-runbuilds without uploading,--repository testpypitargets TestPyPI, and wheel builds are byte-for-byte reproducible. -
Credentials from wherever you keep them.
~/.pypirc, environment variables, a--tokenflag, or an interactive hidden prompt.
Status
Early development preview — the CLI arrives in the next release. This version
installs an importable pypi_reserve module exposing __version__ and nothing
else, so do not add it to your dependencies yet.
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 pypi_reserve-0.0.1.tar.gz.
File metadata
- Download URL: pypi_reserve-0.0.1.tar.gz
- Upload date:
- Size: 1.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
pypi-reserve/1.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
931da375dcd52173ffa8e07397c39c06ccdc6fc641c1ccee92d64f3ce7d7698b
|
|
| MD5 |
8e70168af2246cd6b24d0b32024350d6
|
|
| BLAKE2b-256 |
a762c12bdf73910bc4b09bc9a4fe73492b614ca4091aba30c20234758aad508c
|
File details
Details for the file pypi_reserve-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pypi_reserve-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
pypi-reserve/1.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afc3b77900c55dab5e42427f466a0578ca9487f60db52c377e3af187998acbb3
|
|
| MD5 |
8136994308f26381f28921bcf75d5113
|
|
| BLAKE2b-256 |
67b1ce4787151a75c7b49049ff761e0240ca7631ea58f202364545fac739707b
|