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

Uploaded Python 3

File details

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

File metadata

  • Download URL: repo_name_checker-0.1.2.tar.gz
  • Upload date:
  • Size: 5.8 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.2.tar.gz
Algorithm Hash digest
SHA256 66eabe785e4103666530f8b9bdb013d6b59123c6ac63db100c02b5c377ffc07e
MD5 af2e4baa67acbec6256f15df5dbb21fb
BLAKE2b-256 2cad2eec9a7b0cd3c2b7526c6bb1b76aff60aede32c2de8cba7bb27d38558e04

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_name_checker-0.1.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for repo_name_checker-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a255980598feaae28394750d5386b39aa3ac7fc0b7fbf87b7bdf06b2e28bc99a
MD5 39db18ddcf7f401591348ccbf68b7bd1
BLAKE2b-256 05ac6dd6d05c54ba2c49029a6bf2eff61f18ca66cc73fc377a9f115121044f4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_name_checker-0.1.2-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