PyPI project name checker and rules

A brand claims its name on PyPI as a project name, pypi.org/project/yourname. Our check looks up that project. How our checks work

CostFree
CharactersLetters, numbers, . _ -
Counted as one nameCapitals, and . _ -
You needAn account with two-factor sign-in
Holds the nameYour first upload
Checked 25 Oct 2026, 07:17 UTCSources [1, 3, 7, 8, 9]

What can a PyPI project name contain?

ASCII letters, numbers, periods, underscores and hyphens, starting and ending with a letter or number.

CharacterAllowed?Where
Letters a to zYesAnywhere; capitals count as lowercase
Numbers 0 to 9YesAnywhere
Period, underscore, hyphenYesNot first or last
Anything elseNo

Sources [1, 2]

Are hyphens and underscores the same in a PyPI name?

Yes. PyPI lowercases every name and turns each run of periods, hyphens and underscores into one hyphen. Friendly-Bard, friendly.bard, friendly_bard and FrIeNdLy-._.-bArD are all the same project as friendly-bard.[1, 2]

Why isn't my PyPI name available?

Another user may hold it, it may be too similar to an existing project, match a standard library module, or be blocked by PyPI. This can happen even when no project page shows, and our check, which looks for a published project, can miss it.

ReasonWhat it means
RegisteredAnother user holds it, even with no releases yet
Too similarIt's close to an existing project, a typosquatting risk
Standard libraryIt matches a Python standard library module, from 2.6 on
ProhibitedPyPI's admins block it, such as requirements.txt

Sources [3]

How do you claim a name on PyPI?

Register an account, then publish a first release under the name.

  1. Check the name above, with GitHub and the .com.
  2. Register on PyPI and turn on two-factor sign-in, which every account needs.
  3. Upload your first release, or publish it through a trusted publisher from GitHub Actions, GitLab CI/CD, Google Cloud or ActiveState.

A pending trusted publisher doesn't reserve the name. If someone registers the name first, the pending publisher stops working.[7, 8]

How much does PyPI cost?

Nothing for a personal account. Organization accounts are free for community projects and paid for companies, with the same features.

AccountPrice
PersonalFree
Community organizationFree
Corporate organization$5 per member a month, invoiced monthly

Sources [5, 6, 9]

Can you get a PyPI name someone else holds?

Only if the project is abandoned or invalid, under PyPI's name retention policy, PEP 541. Empty projects with no function count as name squatting and can be removed.

Abandoned means all of theseDetail
Owner can't be reachedPyPI tries at least three times over six weeks
No releasesIn the past 12 months
No activityOn the project's home page, or no home page listed

You must also show your own attempts to reach the owner and why a fork with another name won't do. Requests go to the pypa/pypi-support issue tracker on GitHub; trademark and other intellectual property complaints go to legal@python.org.[4]

Which platforms should you claim with PyPI?

GitHub, npm, Hugging Face, X and the .com.

Checks PyPI, GitHub, npm, Hugging Face, X and the .com in one search.

Sources (9)

  1. PrimaryPython Packaging User Guide: Names and normalization
  2. PrimaryPEP 503: Simple Repository API, Normalized Names
  3. PrimaryPyPI Docs: Choosing a project name
  4. PrimaryPyPI Docs: Name retention
  5. PrimaryPyPI Docs: Organization accounts
  6. PrimaryPyPI Docs: Pricing and payments
  7. PrimaryPyPI Docs: Two-factor authentication
  8. PrimaryPyPI Docs: Creating a PyPI project with a trusted publisher
  9. PrimaryZero To 1000's platform catalog: PyPI cost and rules