Calculateur Semver
Comparez les versions sémantiques et vérifiez si une version satisfait une plage (^, ~, >= etc.).
Comparer deux versions
Exemples de plages
| ^1.2.3 | >= 1.2.3 < 2.0.0 |
| ~1.2.3 | >= 1.2.3 < 1.3.0 |
| >=1.0.0 <2.0.0 | >= 1.0.0 AND < 2.0.0 |
| 1.0.0 - 2.0.0 | >= 1.0.0 <= 2.0.0 |
| 1.x.x || 2.x.x | 1.x OR 2.x |
À propos de cet outil
La Gestion Sémantique de Version (SemVer) est une manière standardisée de communiquer les changements logiciels via des numéros de version comme MAJOR.MINOR.PATCH. Cet outil vous aide à comparer rapidement les versions et à vérifier si une version spécifique satisfait une contrainte de plage — essentiel lors de la gestion des dépendances dans les projets, bibliothèques et frameworks.
Pour l'utiliser, entrez un numéro de version (par exemple 1.5.0) et une expression de plage (par exemple ^1.0.0 ou >=1.0.0 <2.0.0) dans la première section pour vérifier si la version correspond. La deuxième section vous permet de comparer directement deux versions pour déterminer leur ordre. Les exemples intégrés montrent les opérateurs de plage courants : accent circonflexe (^) autorise les mises à jour MINOR et PATCH, tilde (~) autorise uniquement les mises à jour PATCH, et les plages avec tiret (1.0.0 - 2.0.0) couvrent toutes les versions entre deux bornes.
Les développeurs et les gestionnaires de paquets dépendent quotidiennement de ces vérifications de version pour garantir la compatibilité et prévenir les changements cassants. Cette calculatrice économise du temps lors des révisions de code, des mises à jour de dépendances et des pipelines CI/CD où les contraintes de version doivent être vérifiées.
Questions Fréquentes
Implémentation du Code
# pip install packaging
from packaging.version import Version
from packaging.specifiers import SpecifierSet
v1 = Version("1.2.3")
v2 = Version("2.0.0")
v3 = Version("1.2.3-alpha.1") # Note: packaging uses PEP 440 syntax
# Comparison
print(v1 < v2) # True
print(v1 == Version("1.2.3")) # True
# Check if a version satisfies a specifier
spec = SpecifierSet(">=1.0.0,<2.0.0")
print(Version("1.5.0") in spec) # True
print(Version("2.0.0") in spec) # False
print(Version("0.9.0") in spec) # False
# PEP 440 pre-release (different from semver!)
v_pre = Version("1.0.0a1") # alpha 1
v_rc = Version("1.0.0rc2") # release candidate 2
print(v_pre < v_rc < Version("1.0.0")) # True
# Sorting versions
versions = [Version(v) for v in ["2.0.0", "1.0.0", "1.5.0", "1.5.1"]]
print(sorted(versions))
# [<Version('1.0.0')>, <Version('1.5.0')>, <Version('1.5.1')>, <Version('2.0.0')>]Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.