Semver Hesaplayıcı
Anlamsal sürümleri karşılaştırın ve bir sürümün aralığı karşılayıp karşılamadığını kontrol edin.
İki Sürümü Karşılaştır
Aralık Örnekleri
| ^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 |
Bu araç hakkında
Anlamsal Sürümleme (SemVer), MAJOR.MINOR.PATCH gibi sürüm numaraları aracılığıyla yazılım değişikliklerini iletmek için standartlaştırılmış bir yoldur. Bu araç, sürümleri hızlıca karşılaştırmanıza ve belirli bir sürümün bir aralık kısıtlamasını karşılayıp karşılamadığını kontrol etmenize yardımcı olur — projeler, kütüphaneler ve çerçeveler arasında bağımlılıkları yönetirken önemlidir.
Kullanmak için, ilk bölüme bir sürüm numarası (örneğin 1.5.0) ve bir aralık ifadesi (örneğin ^1.0.0 veya >=1.0.0 <2.0.0) girerek sürümün eşleşip eşleşmediğini görebilirsiniz. İkinci bölüm, iki sürümü doğrudan karşılaştırarak sıralarını belirlemek için kullanılabilir. Yerleşik örnekler yaygın aralık operatörlerini gösterir: şapka (^) MINOR ve PATCH güncellemelerine izin verir, tilde (~) yalnızca PATCH güncellemelerine izin verir ve tire aralıkları (1.0.0 - 2.0.0) iki sınır arasında tüm sürümleri kapsar.
Geliştiriciler ve paket yöneticileri, uyumluluğu sağlamak ve değişikliklerin kırılmasını önlemek için günlük olarak bu sürüm kontrolleri üzerinde güvenirler. Bu hesaplayıcı, kod incelemesi, bağımlılık güncellemeleri ve sürüm kısıtlamalarının doğrulanması gereken CI/CD işlem hatlarında zaman kazandırır.
Sıkça Sorulan Sorular
Kod Uygulaması
# 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.