Paketnamen prüfen: npm, PyPI, crates.io, GitHub und mehr
Markenfrei fragt für deinen Namen standardmäßig npm, PyPI, GitHub, crates.io und Homebrew ab und auf Wunsch 18 weitere Quellen. „Kein Paket gefunden“ heißt nur, dass das Register den Namen nicht kennt; ob du ihn veröffentlichen darfst, entscheidet das Register beim Veröffentlichen.
Keine Idee? Vorschläge aus Stichwörtern
Regelbasiert, ohne KI: Wortstämme aus OpenThesaurus und Datamuse werden nach festen Regeln zu Kunstwörtern kombiniert. Die Vorschläge sind ungeprüft, bis du sie prüfst.
Varianten Präfixe, Suffixe, Bindestrich
Feste Muster zum Namen im Eingabefeld, ohne KI. Die Kandidaten sind ungeprüft, bis du sie prüfst.
Gib oben einen Namen ein, dann kannst du Muster wählen.
Welche Register geprüft werden
Standardmäßig laufen diese 5 Quellen mit; jede liefert genau einen Status.
- npm
npm-Registry: existiert ein Paket mit genau diesem Namen?
- PyPI
Python Package Index: existiert ein Projekt mit diesem Namen (PEP-503-normalisiert)?
- GitHub
GitHub: gibt es einen Nutzer oder eine Organisation mit diesem Namen?
- crates.io
crates.io (Rust): existiert ein Crate mit diesem Namen?
- Homebrew
Homebrew: gibt es eine Formula oder einen Cask mit diesem Namen?
Auf Wunsch kommen 18 weitere hinzu. Du schaltest sie im Prüfer unter „Anpassen“ und „Weitere Quellen“ dazu.
- NuGet
NuGet (.NET): existiert ein Paket mit dieser ID?
- RubyGems
RubyGems.org: existiert ein Gem mit diesem Namen (auch in anderer Groß- und Kleinschreibung)?
- Maven Central
Maven Central: gibt es Artefakte mit dieser artifactId (nur zusammen mit groupId eindeutig)?
- Packagist
Packagist (PHP/Composer): hat dieser Vendor-Namespace Pakete? Nur mit Kontakt im User-Agent.
- pub.dev
pub.dev (Dart/Flutter): existiert ein Paket mit diesem Namen?
- JSR
JSR (JavaScript Registry): ist der Scope @name vergeben?
- Hex.pm
Hex.pm (Elixir/Erlang): existiert ein Paket mit diesem Namen?
- CRAN
CRAN (R) über den crandb-Spiegel von R-hub: existiert ein Paket mit diesem Namen (klein, Groß-Anfang, ganz groß)?
- Open VSX
Open VSX (Editor-Erweiterungen): ist der Namespace vergeben?
- Hugging Face
Hugging Face Hub: gibt es eine Organisation oder einen Nutzer mit diesem Namen (Namensraum für Modelle und Datasets)?
- Hackage
Hackage (Haskell): existiert ein Paket mit diesem Namen (auch bei anderer Groß-/Kleinschreibung)?
- Terraform Registry
Terraform Registry: gibt es einen Namespace mit veröffentlichten Modulen oder Providern?
- DEV (dev.to)
DEV Community (dev.to): gibt es einen Nutzer oder eine Organisation mit diesem Benutzernamen?
- AUR
Arch User Repository (aurweb-RPC): gibt es ein Paket mit diesem Namen?
- Repology
Repology: ist der Name ein Projekt in einer der rund 300 Paketquellen von Linux-Distributionen, Homebrew, winget, Chocolatey und weiteren (Projektname, nicht jeder Paketname)?
- Docker Hub
Docker Hub: gibt es ein offizielles Image (library/Name) mit diesem Namen? Daten aus dem Index von ecosyste.ms, nicht live aus dem Register.
- conda-forge
conda-forge: gibt es ein Paket mit diesem Namen (nur dieser Kanal)? Daten aus dem Index von ecosyste.ms, nicht live aus dem Register.
- Clojars
Clojars (Clojure): gibt es ein Paket mit diesem Namen? Daten aus dem Index von ecosyste.ms, nicht live aus dem Register.
Endpunkte und Grenzen aller Quellen stehen auf der Seite Quellen.
Warum ein freier Name trotzdem unbrauchbar sein kann
Die Register haben Regeln, die über „existiert schon“ hinausgehen. Das meldet Markenfrei in der Zeile der Quelle:
- npm: kann ähnliche Namen trotzdem ablehnen.
- PyPI: Der Name wird nach PEP 503 normalisiert; Folgen aus -, _ und . gelten als gleich. PyPI kann außerdem gesperrte oder ähnliche Namen ablehnen.
- crates.io: behandelt - und _ gleich und sperrt manche Namen.
- GitHub: Reservierte oder gesperrte Namen sind möglich, auch wenn es keinen Nutzer und keine Organisation gibt.
- RubyGems: kann zu ähnliche Namen ablehnen; Namen in anderer Groß- und Kleinschreibung zählen als vorhanden.
- CRAN: lehnt Namen ab, die sich nur in Groß- und Kleinschreibung unterscheiden.
- pub.dev und Hex.pm: erlauben keinen Bindestrich; Markenfrei nennt die Variante mit Unterstrich, CRAN die mit Punkt.
- Homebrew: Geprüft werden nur die Haupt-Taps; Aliase und umbenannte Formulae nicht.
Prüfe deshalb auch Schreibvarianten (mit - statt _, mit und ohne Bindestrich), bevor du dich auf einen Namen festlegst.
Warum GitHub-Namen wichtig sind
Bei GitHub prüft Markenfrei, ob es einen Nutzer oder eine Organisation mit dem Namen gibt. Das ist die Adresse github.com/<name>, unter der viele Projekte, Dokumentation und Releases liegen. Ist der Name dort vergeben, musst du für ein gleichnamiges Konto oder eine Organisation auf eine Variante ausweichen, auch wenn npm oder PyPI den Namen noch kennen. Gleichnamige Repositories unter anderen Konten sind davon nicht betroffen und werden nicht geprüft.
Grenzen dieser Prüfung
- „Nicht gefunden“ heißt nie „frei“. Register lehnen gesperrte oder ähnliche Namen ab, ohne dass ein Paket mit genau diesem Namen existiert.
- Die Namen werden so geprüft, wie Markenfrei sie normalisiert: Kleinbuchstaben, a–z, 0–9 und Bindestrich, Umlaute ausgeschrieben.
- Einige der optionalen Quellen lesen einen Index (ecosyste.ms) statt des Registers selbst; sehr neue Pakete können dort fehlen.
- Bei GitHub zählt nur, ob es einen Nutzer oder eine Organisation gibt. Erreicht Markenfrei das Rate-Limit von GitHub, ist der Status „unbekannt“ und nie „frei“.
- Bei Maven Central ist eine artifactId nur zusammen mit der groupId eindeutig; bei Packagist wird der Vendor-Namespace geprüft, nicht ein einzelnes Paket.
- Ob ein Name rechtlich frei von Markenrechten ist, sagt keines dieser Register.
Häufige Fragen
- Reicht es, wenn npm oder PyPI den Namen nicht kennt?
- Nein. „Kein Paket gefunden“ heißt nur, dass das Register den Namen nicht führt. npm kann ähnliche Namen trotzdem ablehnen, PyPI kann gesperrte oder ähnliche Namen ablehnen, und crates.io behandelt - und _ gleich und sperrt manche Namen.
- Welche Register prüft Markenfrei standardmäßig?
- Standard sind npm, PyPI, GitHub, crates.io und Homebrew. Weitere 18 Quellen für Pakete lassen sich im Prüfer unter „Anpassen“ und „Weitere Quellen“ dazuschalten.
- Warum prüft Markenfrei bei GitHub Nutzer und Organisationen?
- Weil unter github.com/<name> Nutzer und Organisationen liegen. Ist der Name dort vergeben, kannst du dein Projekt nicht unter einem gleichnamigen Konto oder einer gleichnamigen Organisation führen. Repositories mit gleichem Namen unter anderen Konten sind davon unberührt und werden nicht geprüft.