Files
intellecton/venv/lib/python3.12/site-packages/packaging/__pycache__/version.cpython-312.pyc
T

458 lines
41 KiB
Plaintext
Raw Normal View History

Ë
já•ãóddZddlmZddlZddlZddlZddlmZmZmZm Z m
Z
m Z m Z m
Z
ejrddlmZmZej$dk\rddlmZnejrddlmZn ddlZddlZd<dZd d
d d d d d d
œZgd¢Zd=dZe e
eefdfZe e eefdfZe eeeeeefZe
e ee edfefe ee edfeeffZeeege fZ!Gdde d¬«Z"d>dZ#d?dZ$Gdde%«Z&Gdd«Z'dZ(e(jSdd«jSdd «Z*ejVjXd!k(rej$d"ks7ejVjXd#k(rej$d$ksej$d%kre*ne(Z- ej\d&ej^ej`z«Z1e2d'«Z3d@d(„Z4dAd)„Z5dBd*„Z6dCd+„Z7dDd,„Z8dEd-„Z9Gd.„d/e «Z:Gd0„de'«Z;Gd1„d2e;«Z< dFd3„Z=ej\d4«Z>dGd5„Z?dd6d7d8œZ@d9ZAd:ZBd9ZCeBdddd6dfZD dHd;„ZEy)IzZ
.. testsetup::
from packaging.version import parse, normalize_pre, Version, _cmpkey
é)Ú annotationsN)ÚAnyÚCallableÚLiteralÚ
NamedTupleÚ SupportsIntÚTupleÚ TypedDictÚUnion)ÚSelfÚUnpack)éé
)Ú
deprecatedcódˆfd }|S)NcóHtj«dˆˆfd «}|S)NcóLtjtd¬«|i|¤ŽS))ÚcategoryÚ
stacklevel)ÚwarningsÚwarnÚDeprecationWarning)ÚargsÚkwargsÚfuncÚmessages €€úT/home/antigravity/intellecton/venv/lib/python3.12/site-packages/packaging/version.pyÚwrapperz/_deprecated.<locals>.decorator.<locals>.wrapper's*ø€ä
ØÜ õñ
˜, )rÚobjectrr!Úreturnr!)Ú functoolsÚwraps)rrrs` €rÚ decoratorz_deprecated.<locals>.decorator&s%ù€Ü
_‰_˜


ˆNr )rzCallable[[...], object]r"r!©)rr%s` rÚ _deprecatedr'%sø€õ
ðÐr ÚrcÚpost)ÚalphaÚbetaÚpreÚpreviewÚrevÚr)ÚVERSION_PATTERNÚInvalidVersionÚVersionÚ
normalize_preÚparsecótS©N)Ú__all__r&r rÚ__dir__r;BsÜ €Nr .cóJeZdZUded<ded<ded<ded<ded<d ed
<y ) Ú_VersionReplaceú
int | NoneÚepochztuple[int, ...] | NoneÚreleaseútuple[str, int] | Noner/r+Údevú
str | NoneÚlocalN©Ú__name__Ú
__module__Ú __qualname__Ú__annotations__r&r rr=r=Qs%Ø ÓØ
ÓØ
ÓØ ƒOØ Ôr r=F)ÚtotalcóN|j«}tj||«S)a8Normalize the pre-release segment of a version string.
Returns a lowercase version of the string if not a known pre-release
identifier.
>>> normalize_pre('alpha')
'a'
>>> normalize_pre('BETA')
'b'
>>> normalize_pre('rc')
'rc'
:param letter:
.. versionadded:: 26.1
)ÚlowerÚ_LETTER_NORMALIZATIONÚget)Úletters rr6r6Zs"ð"\‰\^€FÜ × $ V¨VÓ 4r r5cót|«S)aParse the given version string.
This is identical to the :class:`Version` constructor.
>>> parse('1.0.dev1')
<Version('1.0.dev1')>
:param version: The version string to parse.
:raises InvalidVersion: When the version string is not a valid version.
)r5)Úversions rr7r7osô  Ðr cóeZdZdZy)r4zÉRaised when a version string is not a valid version.
>>> Version("invalid")
Traceback (most recent call last):
...
packaging.version.InvalidVersion: Invalid version: 'invalid'
N)rFrGrHÚ__doc__r&r rr4r4}sòr r4córeZdZdZej
r ed d«Zd dZd
dZ d
dZ
ddZ d
dZ d
dZ
dd „Zy
)Ú _BaseVersionr&cóyr9r&©Úselfs rÚ_keyz_BaseVersion._keysØ+.r có,t|j«Sr9)ÚhashrYrWs rÚ__hash__z_BaseVersion.__hash__sÜD—II‹Ðr có`t|t«stS|j|jkSr9©Ú
isinstancerUÚNotImplementedrY©rXÚothers rÚ__lt__z_BaseVersion.__lt__˜ó%Ü˜Ô y‰y˜5Ÿ:™:Ñ%r có`t|t«stS|j|jkSr9r^ras rÚ__le__z_BaseVersion.__le__žó%Ü˜Ô y‰y˜EŸJ™JÑ&r có`t|t«stS|j|jk(Sr9r^ras rÚ__eq__z_BaseVersion.__eq__¤rgr có`t|t«stS|j|jk\Sr9r^ras rÚ__ge__z_BaseVersion.__ge__ªrgr có`t|t«stS|j|jkDSr9r^ras rÚ__gt__z_BaseVersion.__gt__°rdr có`t|t«stS|j|jk7Sr9r^ras rÚ__ne__z_BaseVersion.__ne__¶rgr N)r"ztuple[Any, ...]©r"Úint©rbrUr"Úbool©rbr!r"rs)rFrGrHÚ __slots__ÚtypingÚ
TYPE_CHECKINGÚpropertyrYr\rcrfrirkrmror&r rrUrUsCØ€Ið
×Òà Ú
Øó      'r rUa3
v?+ # optional leading v
(?a:
(?:(?P<epoch>[0-9]+)!)?+ # epoch
(?P<release>[0-9]+(?:\.[0-9]+)*+) # release segment
(?P<pre> # pre-release
[._-]?+
(?P<pre_l>alpha|a|beta|b|preview|pre|c|rc)
[._-]?+
(?P<pre_n>[0-9]+)?
)?+
(?P<post> # post release
(?:-(?P<post_n1>[0-9]+))
|
(?:
[._-]?
(?P<post_l>post|rev|r)
[._-]?
(?P<post_n2>[0-9]+)?
)
)?+
(?P<dev> # dev release
[._-]?+
(?P<dev_l>dev)
[._-]?+
(?P<dev_n>[0-9]+)?
)?+
)
(?a:\+
(?P<local> # local version
[a-z0-9]+
(?:[._-][a-z0-9]+)*+
)
)?+
z*+Ú*z?+úcpython)ré éÚpypy)rr|r)rr|z[a-z0-9]+(?:[._-][a-z0-9]+)*z .0123456789có\|xsd}t|t«r|dk\r|Sd|}t|«)Nrz(epoch must be non-negative integer, got ©r_rqr4)Úvaluer?Úmsgs rÚ_validate_epochrƒ
s7Ø ŠJQ€EÜÔ %¨1¢*؈ Ø 4°U°GÐ
<€CÜ
˜Ó
Ðr có’|dn|}t|t«r"t|«dkDrtd|D««r|Sd|}t |«)N)rrc3óJK|]}t|t«xr|dk\Œy­w)rN)r_rq)Ú.0Úis rú <genexpr>z$_validate_release.<locals>.<genexpr>s#èø€Ò?°!”
˜1œcÓ- q¨A¡vÓ?ùs!#z@release must be a non-empty tuple of non-negative integers, got )r_ÚtupleÚlenÚallr4)rr@rs rÚ_validate_releaserŒsMØm‰d¨€Gä7œEÔ L˜ Ü Ñ?°wÔ ˆØ LÈWÈIÐ
V€CÜ
˜Ó
Ðr cóÀ||St|t«r;t|«dk(r-|\}}t|«}|dvrt|t«r |dk\r||fSd|}t |«)Nr>r(r)r*rz=pre must be a tuple of ('a'|'b'|'rc', non-negative int), got )r_r‰r6rqr4)rrOÚnumberrs rÚ
_validate_prersnØ €}؈ ÜÔ¤C¨£J°!¢O؈ܘvÓØ Ð %¬*°V¼SÔ*AÀfÐPQÂkà˜ IÈ%ÈÐ
Q€CÜ
˜Ó
Ðr có\||St|t«r |dk\rd|fSd|}t|«)Nrr+z'post must be non-negative integer, got r€©rrs rÚ_validate_postr+s=Ø €}؈ ÜÔ %¨1¢*ؘˆÐØ 3°E°7Ð
;€CÜ
˜Ó
Ðr có\||St|t«r |dk\rd|fSd|}t|«)NrrBz&dev must be non-negative integer, got r€rs rÚ
_validate_devr”4s=Ø €}؈ ÜÔ %¨1¢*ØuˆØ 2°5°'Ð
:€CÜ
˜Ó
Ðr cóŠ||St|t«r tj|«r t |«Sd|}t |«)Nz*local must be a valid version string, got )r_ÚstrÚ_LOCAL_PATTERNÚ fullmatchÚ_parse_local_versionr4rs rÚ_validate_localrš=sEØ €}؈ ÜÔ¤.×":Ñ":¸5Ô"AÜ#  6°u°iÐ
@€CÜ
˜Ó
Ðr cóJeZdZUded<ded<ded<ded<d ed
<d ed <y
)Ú_Versionrqr?útuple[int, ...]r@ú!tuple[Literal['dev'], int] | NonerBú*tuple[Literal['a', 'b', 'rc'], int] | Noner/ú"tuple[Literal['post'], int] | Noner+úLocalType | NonerDNrEr&r rGs%Ø ƒJØ
ÓØ *Ó*Ø 3Ó
 Ôr cóeZdZUdZdZdZ ejdezdzejejz«Z de d<de d<d e d
<d e d <d
e d<de d<de d<de d<d9dZ
eddddddœ d:d«Zd;dZed<d«Zd=dZd>ˆfd Zd>ˆfd Zd?ˆfd Zd>ˆfd „ Zd>ˆfd!„ Zd?ˆfd"„ Z d@d#„ZdAd$„Zeed%«dBd&„««Zej<ed%«dCd'„««ZdDd(„ZdDd)„Z edDd*„«Z!ed=d+„«Z"edEd,„«Z#edFd-„«Z$edGd.„«Z%edGd/„«Z&edHd0„«Z'edDd1„«Z(edDd2„«Z)edId3„«Z*edId4„«Z+edId5„«Z,ed=d6„«Z-ed=d7„«Z.ed=d8„«Z/ˆxZ0S)Jr5This class abstracts handling of a project's versions.
A :class:`Version` instance is comparison aware and can be compared and
sorted using the standard Python interfaces.
>>> v1 = Version("1.0a5")
>>> v2 = Version("1.0")
>>> v1
<Version('1.0a5')>
>>> v2
<Version('1.0')>
>>> v1 < v2
True
>>> v1 == v2
False
>>> v1 > v2
False
>>> v1 >= v2
False
>>> v1 <= v2
True
:class:`Version` is immutable; use :meth:`__replace__` to change
part of a version.
Instances are safe to serialize with :mod:`pickle`. They use a stable
format so the same pickle can be loaded in future packaging releases.
.. versionchanged:: 26.2
Added a stable pickle format. Pickles created with packaging 26.2+ can
be unpickled with future releases. Backward compatibility with pickles
from packaging < 26.2 is supported but may be removed in a future
release.
)Ú_devÚ_epochÚ _hash_cacheÚ
_key_cacheÚ_localÚ_postÚ_preÚ_release)Ú_strz\s*rqrr r>z
CmpKey | Noner¦cótj|«r` ttt|j d«««|_d|_ d|_
d|_ d|_ d|_
d|_d|_y|j j#|«}|std|«|j%d«rt |j%d««nd|_ ttt|j%d«j d«««|_t'|j%d«|j%d ««|_
t'|j%d
«|j%d «xs|j%d ««|_ t'|j%d
«|j%d««|_ t)|j%d««|_
d|_d|_y#t$r$d|j d«vrtd|«dwxYw)aCInitialize a Version object.
:param version:
The string representation of a version which will be parsed and normalized
before use.
:raises InvalidVersion:
If the ``version`` does not conform to PEP 440 in any way then this
exception will be raised.
úzInvalid version: Nrr?r@Úpre_lÚpre_nÚpost_lÚpost_n1Úpost_n2Údev_lÚdev_nrD)Ú_SIMPLE_VERSION_INDICATORSÚ
issupersetr‰ÚmaprqÚsplitrªÚ
ValueErrorr4Ú_regexr˜ÚgroupÚ_parse_letter_versionr™)rXrQÚmatchs rÚ__init__zVersion.__init__”ô &× Ô 
Ü %¤c¬#¨w¯}©}¸SÓ/AÓ&BÓ C
ðˆDŒK؈DŒI؈DŒJ؈DŒI؈DŒKØ"ˆDŒOØ#ˆDÔ Ø ð ×% gÓÙÜ Ð#4°W°KÐ!@Ó AØ38·;±;¸wÔ3G”c˜%Ÿ+™+ gÓ/ÈQˆŒ Üœc¤# u§{¡{°9Ó'=×'CÑ'CÀCÓ'HÓJˆŒ
ô*¨%¯+©+°gÓ*>ÀÇ Á ÈGÓ@TÓŒ Ü K‰K˜Ó ! 5§;¡;¨yÓ#9Ò#S¸U¿[¹[ÈÓ=Só
ˆŒ
ô*¨%¯+©+°gÓ*>ÀÇ Á ÈGÓ@TÓUˆŒ Ü*¨5¯;©;°wÓ+?ÓŒ ðˆŒØˆÕøôGò
𘟠sÓ(Ð+<¸W¸KÐ)HÓIÈtÐð
ús —-GÇ-H
rN)r?r/r+rBrDcó<t|«}t|«}| t|«nd} | t|«nd}
| t |«nd} | t |«nd} |j
|«}
d|
_d|
_||
_ ||
_
| |
_ |
|
_ | |
_
| |
_|
S)a(
Return a new version composed of the various parts.
This allows you to build a version without going though a string and
running a regular expression. It normalizes pre-release strings. The
``release=`` keyword argument is required.
>>> Version.from_parts(release=(1,2,3))
<Version('1.2.3')>
>>> Version.from_parts(release=(0,1,0), pre=("b", 1))
<Version('0.1.0b1')>
:param epoch:
:param release: This version tuple is required
.. versionadded:: 26.1
N)rrr”Ú__new__r¦)Úclsr?r@r/r+rBrDÚ new_versions rÚ
from_partszVersion.from_partsÆô8! Ó'ˆÜ$ -ˆØ%( _Œ}˜!¸Ø(,Ð(8”˜$¸dˆØ%( _Œ}˜!¸$ˆØ+0Ð+<” Ô'À$ˆà—kk &ˆ Ø!%ˆ ÔØ"&ˆ ÔØ#ˆ ÔØ ÔØˆ ÔØ ÔØˆ ÔØ ÔàÐr c óàd|vrt|d«n |j}d|vrt|d«n |j}d|vrt |d«n |j
}d|vrt
|d«n |j}d|vrt|d«n |j}d|vrt|d«n |j}||jk(rM||jk(r>||j
k(r/||jk(r ||jk(r||jk(r|S|jj|j«}d|_d|_||_||_||_||_||_ ||_ |S)
__replace__(*, epoch=..., release=..., pre=..., post=..., dev=..., local=...)
Return a new version with parts replaced.
This returns a new version (unless no parts were changed). The
pre-release is normalized. Setting a value to ``None`` clears it.
>>> v = Version("1.2.3")
>>> v.__replace__(pre=("a", 1))
<Version('1.2.3a1')>
:param int | None epoch:
:param tuple[int, ...] | None release:
:param tuple[str, int] | None pre:
:param int | None post:
:param int | None dev:
:param str | None local:
.. versionadded:: 26.0
.. versionchanged:: 26.1
The pre-release portion is now normalized.
r?r@r/r+rBrDN)rrr”Ú __class__rÁ) rXrr?r@r/r+rBrDs rÚ __replace__zVersion.__replace__õs]ð25<¸vÑ4E”  Ô0È4Ï;É;ˆð˜
˜f YÑ ð ð
/4°v©oŒm˜F 5™MÔ*À4Ç9Á9ˆØ17¸6Ñ1AŒ~˜f V™nÔ-ÀtÇzÁzˆØ.3°v©oŒm˜F 5™MÔ*À4Ç9Á9ˆØ4;¸vÑ4E”  w¡Ô0È4Ï;É;ˆð
T—[‘[Ò Ø˜4Ÿ=™=Òt—y‘yÒ Ø˜Ÿ
Òt—y‘yÒ Ø˜ŸÒˆKà—n‘n×,¨T¯^©^Ó<ˆ Ø!%ˆ ÔØ"&ˆ ÔØ"ˆ ÔØ ÔØˆ ÔØ ˆ ÔØˆ ÔØ ÔàÐr cóÔ|j€Qt|j|j|j|j
|j |j«|_|jSr9)Ú_cmpkeyr¤rWs rrYz Version._key/sNà ?‰?Ð  Ø
Ø Ø
Ø Ø ó
ˆDŒOðÐr có |jx}|S|jx}€St|j|j|j
|j |j|j«x|_}t|«x|_}|Sr9)
r[)rXÚ cached_hashÚkeys rr\zVersion.__hash__>s~Ø× +ˆKÐ Ð à—? "ˆCÐ +Ü$+Ø Ø
Ø Ø
Ø Ø ó
%ð
ˆDŒO˜cô*.¨c«ÐÔ˜;ØÐr cót|t«rÓ|j€Qt|j|j
|j |j|j|j«|_|j€Qt|j|j
|j |j|j|j«|_|j|jkSt|t«stSt|5|«Sr9)r_r5rUr`Úsuperrc©rXrbs €rrczVersion.__lt__PóÈø€Ü eœWÔ Ð&Ü")Ø—K—M‘MØ—I‘IØ—J‘JØ—I‘IØ—K‘Kó
#ð×ÑÐ'Ü#*Ø—L‘LØ—N‘NØ—J‘JØ—K‘KØ—J‘JØ—L‘Ló
$Ô ð—?‘? U×%5Ñ%5Ñ ˜Ô ‰w‰~˜eÓ$r cót|t«rÓ|j€Qt|j|j
|j |j|j|j«|_|j€Qt|j|j
|j |j|j|j«|_|j|jkSt|t«stSt|5|«Sr9)r_r5rUr`rfs €rrfzVersion.__le__kóÈø€Ü eœWÔ Ð&Ü")Ø—K—M‘MØ—I‘IØ—J‘JØ—I‘IØ—K‘Kó
#ð×ÑÐ'Ü#*Ø—L‘LØ—N‘NØ—J‘JØ—K‘KØ—J‘JØ—L‘Ló
$Ô ð—?? e×&6Ñ&6Ñ ˜Ô ‰w‰~˜eÓ$r cót|t«rÓ|j€Qt|j|j
|j |j|j|j«|_|j€Qt|j|j
|j |j|j|j«|_|j|jk(St|t«stSt|5|«Sr9)r_r5rUr`ris €rrizVersion.__eq__†r cót|t«rÓ|j€Qt|j|j
|j |j|j|j«|_|j€Qt|j|j
|j |j|j|j«|_|j|jk\St|t«stSt|5|«Sr9)r_r5rUr`rks €rrkzVersion.__ge__¡r cót|t«rÓ|j€Qt|j|j
|j |j|j|j«|_|j€Qt|j|j
|j |j|j|j«|_|j|jkDSt|t«stSt|5|«Sr9)r_r5rUr`rms €rrmzVersion.__gt__¼r cót|t«rÓ|j€Qt|j|j
|j |j|j|j«|_|j€Qt|j|j
|j |j|j|j«|_|j|jk7St|t«stSt|5|«Sr9)r_r5rUr`ros €rrozVersion.__ne__×r cóŠ|j|j|j|j|j|j
fSr9)rWs rÚ __getstate__zVersion.__getstate__òs8ð
K‰KØ M‰MØ I‰IØ J‰JØ I‰IØ K‰Kð

ð
r cóúd|_d|_t|t«rÆt |«dk(r(|\|_|_|_|_|_ |_
yt |«dk(r|\}}t|t«rm|d|_|d|_|jd«|_|jd«|_|jd«|_ |jd«|_
yt|t«rz|jd «}|g|j|_|j|_|j|_|j |_|j"|_ |j$|_
yt'd
|«) rÚ_versionzCannot restore Version from )r_r‰ÚdictrNr?r@r/r+rBrDÚ TypeError)rXÚstateÚ_Ú slot_dictÚ
version_nts rÚ __setstate__zVersion.__setstate__sJðˆŒØˆÔä eœUÔ 5‹z˜QŠðñØ”KØ”MØ”IØ”JØ”IØ”KàÜ5‹z˜QŠà$‘ ˜Ô.Ø"+¨HÑ"5D”KØ$-¨jÑ$9D”MØ )§
¡
¨fÓ 5D”IØ!*§¡¨wÓ!7D”JØ )§
¡
¨fÓ 5D”IØ"+§-¡-°Ó"9D”KØÜ eœTÔ Ÿ .ˆÐ. Ø *× 2Ñ 2
Ø&ŸN™N” Ø'Ÿ_™_
Ø&ŸN™N” Ø. ØäÐ6°u°iÐAr z4Version._version is private and will be removed sooncóšt|j|j|j|j|j
|j «Sr9)rWs rzVersion._version5s6ôØ K‰K˜Ÿ¨¯ © °4·9±9¸d¿j¹jÈ$Ï+É+ó
ð
r cóì|j|_|j|_|j|_|j |_|j|_ |j|_ d|_ d|_
yr9)r?r@rBr/r+rD)rXrs rzVersion._version<sUð—k‘kˆŒ ØŸ
ˆŒ
Ø—I‘IˆŒ Ø—I‘IˆŒ Ø—Z‘ZˆŒ
Ø—k‘kˆŒ ؈ŒØˆÕr cóNd|jjdt|«dS)z€A representation of the Version that shows all internal state.
>>> Version('1.0.0')
<Version('1.0.0')>
ú(z)>)rFrrWs rÚ__repr__zVersion.__repr__Hs(ð 4—>>×+¨1¬S°«Y¨M¸Ð<r có¶djtt|j««}|jr|jd|}|j
,|djtt|j
««z
}|j |d|j z
}|j|d|jz
}|j|d|jz
}|S)z}A string representation of the version that can be round-tripped.
>>> str(Version("1.0a5"))
'1.0a5'
r­ú!r®z.postz.devú+) Újoinr¸rr@r?r/r+rBrD)rXrQs rÚ__str__zVersion.__str__Pð—((œ3œs D§L¡LÓð :Š:ØŸ˜  A g YÐ/ˆGð 8‰8Ð Ø r—w‘wœs¤3¨¯©Ó 2ˆGð 9‰9Ð Ø ˜˜tŸy™y˜kÐ *ˆGð 8‰8Ð Ø ˜˜dŸh™h˜ZÐ (ˆGð :‰:Ð ˜˜4Ÿ:™:˜ 'ˆˆr cót|«S)z Internal property for match_args©rrWs rz Version._strosô4r có|jS)zThe epoch of the version.
>>> Version("2.0.0").epoch
0
>>> Version("1!2.0.0").epoch
1
)rWs rr?z
Version.epochtsð{‰{Ðr có|jS)adThe components of the "release" segment of the version.
>>> Version("1.2.3").release
(1, 2, 3)
>>> Version("2.0.0").release
(2, 0, 0)
>>> Version("1!2.0.0.post0").release
(2, 0, 0)
Includes trailing zeroes but not the epoch or any pre-release / development /
post-release suffixes.
)rWs rr@zVersion.releasesð}‰}Ðr có|jS)aThe pre-release segment of the version.
>>> print(Version("1.2.3").pre)
None
>>> Version("1.2.3a1").pre
('a', 1)
>>> Version("1.2.3b1").pre
('b', 1)
>>> Version("1.2.3rc1").pre
('rc', 1)
)rWs rr/z Version.presðy‰yÐr có<|jr|jdSdS)z™The post-release number of the version.
>>> print(Version("1.2.3").post)
None
>>> Version("1.2.3.post1").post
1
éN)rWs rr+z Version.postžsð!%§
¢
ˆtz‰z˜!‰}ÐÐ4r có<|jr|jdSdS)z•The development number of the version.
>>> print(Version("1.2.3").dev)
None
>>> Version("1.2.3.dev1").dev
1
N)rWs rrBz Version.dev©sð $Ÿyšyˆty‰y˜‰|Ð2¨dÐ2r có`|jr"djd|jD««Sy)zŸThe local version segment of the version.
>>> print(Version("1.2.3").local)
None
>>> Version("1.2.3+abc").local
'abc'
r­c3ó2K|]}t|«Œy­wr9)r†Úxs rrˆz Version.local.<locals>.<genexpr>¾sèø€Ò8 qœC ŸFÑ8ùsN)rWs rrDz
Version.local´s'ð ;Š;Ø—8‘8Ñ8¨D¯K©KÔ r có>t|«jdd«dS)aqThe public portion of the version.
This returns a string. If you want a :class:`Version` again and care
about performance, use ``v.__replace__(local=None)`` instead.
>>> Version("1.2.3").public
'1.2.3'
>>> Version("1.2.3+abc").public
'1.2.3'
>>> Version("1!1.2.3dev1+abc").public
'1!1.2.3.dev1'
r)rrWs rÚpubliczVersion.publicÂsô4y˜s & )r có’djtt|j««}|jr|jd|S|S)aThe "base version" of the version.
This returns a string. If you want a :class:`Version` again and care
about performance, use
``v.__replace__(pre=None, post=None, dev=None, local=None)`` instead.
>>> Version("1.2.3").base_version
'1.2.3'
>>> Version("1.2.3+abc").base_version
'1.2.3'
>>> Version("1!1.2.3dev1+abc").base_version
'1!1.2.3'
The "base version" is the public version of the project without any pre or post
release markers.
r­)r¸rr@r?)rXÚrelease_segments rÚ base_versionzVersion.base_versionÒs>ð$Ÿ(™(¤3¤s¨D¯L©LÓ#9Ó:ˆØ48·J²J$—**˜Q˜ÐSÀOÐSr có>|jduxs|jduS)aTWhether this version is a pre-release.
>>> Version("1.2.3").is_prerelease
False
>>> Version("1.2.3a1").is_prerelease
True
>>> Version("1.2.3b1").is_prerelease
True
>>> Version("1.2.3rc1").is_prerelease
True
>>> Version("1.2.3dev1").is_prerelease
True
N)rBr/rWs rÚ
is_prereleasezVersion.is_prereleaseçs!ðx‰x˜; t§x¡x°tÐ';Ð;r có|jduS)zªWhether this version is a post-release.
>>> Version("1.2.3").is_postrelease
False
>>> Version("1.2.3.post1").is_postrelease
True
N)r+rWs rÚis_postreleasezVersion.is_postreleaseøsðy‰y Ð$r có|jduS)z®Whether this version is a development release.
>>> Version("1.2.3").is_devrelease
False
>>> Version("1.2.3.dev1").is_devrelease
True
N)rBrWs rÚ
is_devreleasezVersion.is_devreleasesðx‰x˜#r cóTt|j«dk\r|jdSdS)zqThe first item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").major
1
r©r@rWs rÚmajorz
Version.majors'ô#& d§l¡lÓ"3°qÒ"8ˆt|‰|˜A‰Ð?¸?r cóTt|j«dk\r|jdSdS)zThe second item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").minor
2
>>> Version("1").minor
0
rrrrWs rÚminorz
Version.minoró'ô#& d§l¡lÓ"3°qÒ"8ˆt|‰|˜A‰Ð?¸?r cóTt|j«dk\r|jdSdS)zšThe third item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").micro
3
>>> Version("1").micro
0
rrrrrWs rÚmicroz
Version.micro"r r )rQrr"ÚNone)r?rqr@rr/rAr+r>rBr>rDrCr"r )rzUnpack[_VersionReplace]r"r )r"ÚCmpKeyrprrrt)r"zutuple[int, tuple[int, ...], tuple[str, int] | None, tuple[str, int] | None, tuple[str, int] | None, LocalType | None])r!r"r )r")rr"r )r"r©r"r)r")r"r>)r"rC)r"rs)1rFrGrHrSruÚ__match_args__ÚreÚcompiler3ÚVERBOSEÚ
IGNORECASEr»rIr¿Ú classmethodrÄrxrYr\rcrfrirkrmror'Úsetterrèr?r@r/r+rBrDrÿrrrrr Ú
__classcell__©s@rr5r5Pø…ñ"ðH €Ið€NððˆRZ‰Z˜ Ñ0°6Ñ9¸2¿:¹:ÈÏ
É
Ñ;UÓ
V€Fà ƒKØÓØ

  ÓàÓØÓó0 ðdðà&*ØØØ ñ,ðð,ð!ð ,ð
 ,ð ð
,ðð,ðð,ð