Skip to main content

Check repo name availability across package registries

Project description

Repo Name Checker

Check the availability of a repo name against the major package registries (NPM, PyPI, crates.io).

Usage

uvx repo-name-checker foobarbaz

Produces a table:

Repository Available Collisions
npm dark-factory
pypi
crates

Pass a list of registries to narrow the check:

uvx repo-name-checker foobarbaz --registry npm --registry pypi

Publish-time collision detection (npm)

npm rejects publishes whose normalized form (lowercased, with -/_/. removed) matches an existing package. The Collisions column lists existing names that would block your publish — for example darkfactory collides with dark-factory. The check is best-effort: npm's exact internal algorithm is private, so a passing check is necessary but not sufficient.

Output format

Use --format to choose the output. table is the default; json emits a machine-readable list:

$ uvx repo-name-checker foobarbaz --format json
[
  {"registry": "npm", "name": "foobarbaz", "available": false, "collisions": ["foo-bar-baz"]},
  {"registry": "pypi", "name": "foobarbaz", "available": true, "collisions": []},
  {"registry": "crates", "name": "foobarbaz", "available": true, "collisions": []}
]

The CLI exits 0 if at least one registry has the name available, otherwise 1.

SDK

The CLI is a thin wrapper over a Python SDK with 1:1 parity:

import asyncio
from repo_name_checker import check, check_sync

# Async
results = asyncio.run(check("foobarbaz", registries=["npm", "pypi"]))

# Sync
results = check_sync("foobarbaz")

for r in results:
    print(r.registry, r.available)

License

MIT

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

repo_name_checker-0.1.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

repo_name_checker-0.1.3-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file repo_name_checker-0.1.3.tar.gz.

File metadata

  • Download URL: repo_name_checker-0.1.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for repo_name_checker-0.1.3.tar.gz
Algorithm Hash digest
SHA256 df6dc00f319473c47af8fc3dab7e21f4c59f083b53b4ed152d9cadfd4200619f
MD5 12bd8428f8707136f6d7254d256fbe0a
BLAKE2b-256 4904b5234f900d1de9c18bab86eeae75eafe4a8cf9c5ac57a0c5534aa6ebb9b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_name_checker-0.1.3.tar.gz:

Publisher: release.yml on thekevinscott/repo-name-checker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file repo_name_checker-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for repo_name_checker-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 51bca75ad71757539c3f99b3cc7a9d34c454f03518f1d08d98384c48fa4a6abc
MD5 3fe88be8846f83f08daf31526201980a
BLAKE2b-256 e12e4916f99f197c79e31593312b7ead2d3bd60873b7737dd30825a7aa5ce93b

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_name_checker-0.1.3-py3-none-any.whl:

Publisher: release.yml on thekevinscott/repo-name-checker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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