Paketversionen zwischen Formaten prüfen
Füge eine oder mehrere Versionszeichenfolgen ein, jeweils eine je Zeile. Prüfe, ob SemVer, PEP 440, beide oder keines sie akzeptieren und warum die Version in einem Ökosystem abgelehnt oder anders verstanden werden kann.
Die Verarbeitung erfolgt lokal in Ihrem Browser. Ihre Datei wird niemals hochgeladen.
Anleitung Tool
- Füge eine oder mehrere Versionen zeilenweise ein; die Werte bleiben im Browser.
- Starte die Versionsanalyse.
- Prüfe Grammatikabweichung oder semantischen Unterschied.
- Nutze vorgeschlagene Umschreibungen nur bei verlustfreier Umwandlung; dev-/post-Suffixe werden nicht automatisch angenähert.
Annahmen
- Abgedeckt sind SemVer 2.0.0 und übliche PEP-440-Formen; Debian-Revisionen, Maven-Qualifizierer und andere Herstellerformate nicht.
- Es werden Syntax und dokumentierte Portabilitätsunterschiede geprüft, nicht Versionen sortiert oder verglichen.
- Nur eindeutige, verlustfreie Umschreibungen werden angeboten.
Quellen und Referenzdaten
Methodik
Jede Zeile wird gegen SemVer-2.0.0- und PEP-440-Grammatik geprüft. Danach folgen Prüfungen für den vor einer SemVer-Vorversion erforderlichen Bindestrich, PEP-440-dev/post-Formen, Build-/Local-Metadaten, Git-`v`-Präfixe, führende Nullen und zwei Komponenten.
Rechenbeispiel
Python-Vorversion ohne SemVer-Bindestrich
Eingaben: 1.0.0a1
Ergebnis: PEP 440 akzeptiert es als Alpha 1; striktes SemVer verlangt einen Bindestrich und lehnt es ab. Portable SemVer-Form: `1.0.0-a1`.
Build-Metadaten gegenüber lokaler PEP-440-Version
Eingaben: 1.2.3+build1
Ergebnis: In beiden Formaten syntaktisch gültig. SemVer ignoriert Build-Metadaten bei der Rangfolge; lokale PEP-440-Segmente werden nicht gleichermaßen ignoriert.
PEP-440-Entwicklungsversion
Eingaben: 1.0.0.dev0
Ergebnis: PEP 440 akzeptiert es, SemVer hat keine exakte Entsprechung. `1.0.0-dev.0` ist eine Annäherung mit anderer Sortiersemantik; keine automatische Umschreibung.
Praktische Hinweise
- Für Pakete in npm- und PyPI-Ökosystemen ein Format wählen, das beide akzeptieren, etwa `MAJOR.MINOR.PATCH` mit Bindestrich-Vorversion.
- Build-/Local-Metadaten nicht als portable Grundlage für wichtige Versionsreihenfolgen verwenden.
- Ein `v`-Präfix aus Git-Tags vor dem Einlesen entfernen.
Häufige Fehler
- Annehmen, `1.0.0a1` und `1.0.0-a1` bedeuteten dasselbe für alle Werkzeuge.
- PEP-440-dev/post-Suffixe als exakt nach SemVer übersetzbar ansehen.
Häufige Fragen
Warum ist `1.0.0a1` ein Fehler statt nur ein Hinweis?
Ein strikter SemVer-Parser kann die Form nicht parsen. Das ist direkte Inkompatibilität, keine Stilpräferenz.
Warum wird `.dev0` nicht automatisch umgeschrieben?
Es gibt keine garantierte äquivalente SemVer-Form; die Sortierreihenfolge wäre anders.
Ist `1.2.3+build1` ungültig?
Nein. Der Text ist in beiden Formaten gültig, aber die Build-/Local-Suffixe können die Versionsreihenfolge unterschiedlich beeinflussen.
Zuletzt geprüft:
Grammatikprüfer statt vollständigem Paketmanager-Resolver. Es werden SemVer 2.0.0 und verbreitete PEP-440-Formen erkannt, aber keine Debian-/Maven-Schemata und keine Vergleichslogik implementiert.
Design- und Tool-Einstellungen sowie gespeicherte und zuletzt verwendete Listen werden nur in diesem Browser gespeichert.