/ lib / numpy / compat / _pep440.pyc
_pep440.pyc
  1  o

  2  [��c�8�@s�dZddlZddlZddlZgd�ZGdd�d�Ze�ZGdd�d�Ze�Ze�dgd	��Zd
  3  d�Z	Gdd
�d
e
  4  �ZGdd�d�ZGdd�de�Z
e�dej�Zdddddd�Zdd�Zdd�ZdZGdd�de�Zdd�Ze�d �Zd!d"�Zd#d$�ZdS)%z�Utility to compare pep440 compatible version strings.
  5  
  6  The LooseVersion and StrictVersion classes that distutils provides don't
  7  work; they don't recognize anything like alpha/beta/rc/dev versions.
  8  �N)�parse�Version�
LegacyVersion�InvalidVersion�VERSION_PATTERNc@�TeZdZdd�Zdd�Zdd�Zdd�Zd	d
  9  �Zdd�Zd
d�Z	dd�Z
 10  dd�ZdS)�InfinitycC�dS)Nr���selfr
 11  r
 12  ��C:\Users\Jacks.GUTTSPC\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\numpy\compat\_pep440.py�__repr__.�zInfinity.__repr__cC�tt|��S�N��hash�reprrr
 13  r
 14  r
�__hash__1�zInfinity.__hash__cCr	�NFr
 15  �r�otherr
 16  r
 17  r
�__lt__4rzInfinity.__lt__cCr	rr
 18  rr
 19  r
 20  r
�__le__7rzInfinity.__le__cC�t||j�Sr��
 21  isinstance�	__class__rr
 22  r
 23  r
�__eq__:rzInfinity.__eq__cC�t||j�Srrrr
 24  r
 25  r
�__ne__=�zInfinity.__ne__cCr	�NTr
 26  rr
 27  r
 28  r
�__gt__@rzInfinity.__gt__cCr	r$r
 29  rr
 30  r
 31  r
�__ge__CrzInfinity.__ge__cC�tSr)�NegativeInfinityrr
 32  r
 33  r
�__neg__FrzInfinity.__neg__N��__name__�
 34  __module__�__qualname__rrrrr r"r%r&r)r
 35  r
 36  r
 37  r
r-�rc@r)r(cCr	)Nz	-Infinityr
 38  rr
 39  r
 40  r
rNrzNegativeInfinity.__repr__cCrrrrr
 41  r
 42  r
rQrzNegativeInfinity.__hash__cCr	r$r
 43  rr
 44  r
 45  r
rTrzNegativeInfinity.__lt__cCr	r$r
 46  rr
 47  r
 48  r
rWrzNegativeInfinity.__le__cCrrrrr
 49  r
 50  r
r ZrzNegativeInfinity.__eq__cCr!rrrr
 51  r
 52  r
r"]r#zNegativeInfinity.__ne__cCr	rr
 53  rr
 54  r
 55  r
r%`rzNegativeInfinity.__gt__cCr	rr
 56  rr
 57  r
 58  r
r&crzNegativeInfinity.__ge__cCr'r)rrr
 59  r
 60  r
r)frzNegativeInfinity.__neg__Nr*r
 61  r
 62  r
 63  r
r(Mr.r(�_Version)�epoch�release�dev�pre�post�localcCs&zt|�WStyt|�YSw)z�
 64      Parse the given version string and return either a :class:`Version` object
 65      or a :class:`LegacyVersion` object depending on if the given version is
 66      a valid PEP 440 version or a legacy version.
 67      )rrr)�versionr
 68  r
 69  r
rus
 70  
 71  �rc@seZdZdZdS)rzF
 72      An invalid version was found, users should refer to PEP 440.
 73      N)r+r,r-�__doc__r
 74  r
 75  r
 76  r
r�src@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
 77  �Zdd�Zd
d�Z	dd�Z
 78  dS)�_BaseVersioncCs
 79  t|j�Sr)r�_keyrr
 80  r
 81  r
r�s
 82  z_BaseVersion.__hash__cC�|�|dd��S)NcSs||kSrr
 83  ��s�or
 84  r
 85  r
�<lambda>��z%_BaseVersion.__lt__.<locals>.<lambda>��_comparerr
 86  r
 87  r
r��z_BaseVersion.__lt__cCr:)NcSs||kSrr
 88  r;r
 89  r
 90  r
r>�r?z%_BaseVersion.__le__.<locals>.<lambda>r@rr
 91  r
 92  r
r�rBz_BaseVersion.__le__cCr:)NcSs||kSrr
 93  r;r
 94  r
 95  r
r>�r?z%_BaseVersion.__eq__.<locals>.<lambda>r@rr
 96  r
 97  r
r �rBz_BaseVersion.__eq__cCr:)NcSs||kSrr
 98  r;r
 99  r
100  r
r>�r?z%_BaseVersion.__ge__.<locals>.<lambda>r@rr
101  r
102  r
r&�rBz_BaseVersion.__ge__cCr:)NcSs||kSrr
103  r;r
104  r
105  r
r>�r?z%_BaseVersion.__gt__.<locals>.<lambda>r@rr
106  r
107  r
r%�rBz_BaseVersion.__gt__cCr:)NcSs||kSrr
108  r;r
109  r
110  r
r>�r?z%_BaseVersion.__ne__.<locals>.<lambda>r@rr
111  r
112  r
r"�rBz_BaseVersion.__ne__cCst|t�stS||j|j�Sr)rr8�NotImplementedr9)rr�methodr
113  r
114  r
rA�s
115  z_BaseVersion._compareN)r+r,r-rrrr r&r%r"rAr
116  r
117  r
118  r
r8�sr8c@s`eZdZdd�Zdd�Zdd�Zedd��Zed	d
119  ��Zedd��Z	ed
d��Z
120  edd��ZdS)rcCst|�|_t|j�|_dSr)�str�_version�_legacy_cmpkeyr9)rr6r
121  r
122  r
�__init__�s
123  zLegacyVersion.__init__cC�|jSr�rFrr
124  r
125  r
�__str__�szLegacyVersion.__str__cC�d�tt|���S)Nz<LegacyVersion({0})>��formatrrErr
126  r
127  r
r��zLegacyVersion.__repr__cCrIrrJrr
128  r
129  r
�public��zLegacyVersion.publiccCrIrrJrr
130  r
131  r
�base_version�rQzLegacyVersion.base_versioncCsdSrr
132  rr
133  r
134  r
r5��zLegacyVersion.localcCr	rr
135  rr
136  r
137  r
�
is_prerelease�rSzLegacyVersion.is_prereleasecCr	rr
138  rr
139  r
140  r
�is_postrelease�rSzLegacyVersion.is_postreleaseN)r+r,r-rHrKr�propertyrPrRr5rTrUr
141  r
142  r
143  r
r�s
144  
145  
146  
147  rz(\d+ | [a-z]+ | \.| -)�czfinal-�@)r3�preview�-�rcr2ccs^�t�|�D]#}t�||�}|r|dkrq|dd�dvr$|�d�Vqd|VqdVdS)N�.��
148  0123456789��*�*final)�_legacy_version_component_re�split�_legacy_version_replacement_map�get�zfill)r<�partr
149  r
150  r
�_parse_version_parts�s�
151  rhcCs�d}g}t|���D]8}|�d�r=|dkr)|r)|ddkr)|��|r)|ddks|r=|ddkr=|��|r=|ddks1|�|�q
152  t|�}||fS)N�����r`raz*final-�00000000)rh�lower�
153  startswith�pop�append�tuple)r6r0�partsrgr
154  r
155  r
rG�s
156  ��rGa�
157      v?
158      (?:
159          (?:(?P<epoch>[0-9]+)!)?                           # epoch
160          (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
161          (?P<pre>                                          # pre-release
162              [-_\.]?
163              (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
164              [-_\.]?
165              (?P<pre_n>[0-9]+)?
166          )?
167          (?P<post>                                         # post release
168              (?:-(?P<post_n1>[0-9]+))
169              |
170              (?:
171                  [-_\.]?
172                  (?P<post_l>post|rev|r)
173                  [-_\.]?
174                  (?P<post_n2>[0-9]+)?
175              )
176          )?
177          (?P<dev>                                          # dev release
178              [-_\.]?
179              (?P<dev_l>dev)
180              [-_\.]?
181              (?P<dev_n>[0-9]+)?
182          )?
183      )
184      (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
185  c@s|eZdZe�dedejejB�Zdd�Z	dd�Z
186  dd�Zed	d
187  ��Z
edd��Zed
d��Zedd��Zedd��ZdS)rz^\s*z\s*$c
188  Cs�|j�|�}|std�|���t|�d�rt|�d��ndtdd�|�d��d�D��t	|�d�|�d	��t	|�d
189  �|�d�pC|�d��t	|�d
�|�d��t
190  |�d��d�|_t|jj
|jj|jj|jj|jj|jj�|_dS)NzInvalid version: '{0}'r0rcs��|]}t|�VqdSr)�int��.0�ir
191  r
192  r
�	<genexpr>-��z#Version.__init__.<locals>.<genexpr>r1r\�pre_l�pre_n�post_l�post_n1�post_n2�dev_l�dev_nr5�r0r1r3r4r2r5)�_regex�searchrrNr/�grouprrrorc�_parse_letter_version�_parse_local_versionrF�_cmpkeyr0r1r3r4r2r5r9)rr6�matchr
193  r
194  r
rH$s8����
195  �zVersion.__init__cCrL)Nz<Version({0})>rMrr
196  r
197  r
rGrOzVersion.__repr__cCs�g}|jjdkr|�d�|jj��|�d�dd�|jjD���|jjdur6|�d�dd�|jjD���|jjdurH|�d�|jjd	��|jjdurZ|�d
198  �|jjd	��|jj	durr|�d�d�dd�|jj	D����d�|�S)
Nr�{0}!r\csrqr�rE�rt�xr
199  r
200  r
rvRrwz"Version.__str__.<locals>.<genexpr>�csrqrr�r�r
201  r
202  r
rvVrwz.post{0}r]z.dev{0}z+{0}csrqrr�r�r
203  r
204  r
rvcrw)
205  rFr0rnrN�joinr1r3r4r2r5�rrpr
206  r
207  r
rKJs�
208  zVersion.__str__cCst|��dd�dS)N�+r]r�rErcrr
209  r
210  r
rPh�zVersion.publiccCsLg}|jjdkr|�d�|jj��|�d�dd�|jjD���d�|�S)Nrr�r\csrqrr�r�r
211  r
212  r
rvurwz'Version.base_version.<locals>.<genexpr>r�)rFr0rnrNr�r1r�r
213  r
214  r
rRls
215  
216  zVersion.base_versioncCs$t|�}d|vr|�dd�dSdS)Nr�r]r�)r�version_stringr
217  r
218  r
r5ys�z
Version.localcCst|jjp|jj�Sr)�boolrFr2r3rr
219  r
220  r
rTr�zVersion.is_prereleasecCst|jj�Sr)r�rFr4rr
221  r
222  r
rU�szVersion.is_postreleaseN)r+r,r-�re�compiler�VERBOSE�
223  IGNORECASEr�rHrrKrVrPrRr5rTrUr
224  r
225  r
226  r
rs$
227  
228  �#
229  
230  
231  
232  rcCsz|r-|durd}|��}|dkrd}n|dkrd}n
|dvr!d}n|dvr'd	}|t|�fS|s9|r;d	}|t|�fSdSdS)
233  Nr�alpha�a�beta�b)rWr3rYr[)�rev�rr4)rkrr)�letter�numberr
234  r
235  r
r��s"�r�z[\._-]cCs$|durtdd�t�|�D��SdS)zR
236      Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
237      Ncss(�|]}|��s|��nt|�VqdSr)�isdigitrkrr)rtrgr
238  r
239  r
rv�s
240  ��
241  �z'_parse_local_version.<locals>.<genexpr>)ro�_local_version_seperatorsrc)r5r
242  r
243  r
r��s
244  ��r�cCs�tttt�dd�t|�����}|dur |dur |dur t}n|dur&t}|dur-t}|dur3t}|dur;t}n	tdd�|D��}||||||fS)NcSs|dkS)Nrr
245  )r�r
246  r
247  r
r>�r?z_cmpkey.<locals>.<lambda>css,�|]}t|t�r
|dfnt|fVqdS)r�N)rrrrrsr
248  r
249  r
rv�s
250  ��
251  �z_cmpkey.<locals>.<genexpr>)ro�reversed�list�	itertools�	dropwhilerrr
252  r
253  r
r��s,���
	�r�)r7�collectionsr�r��__all__rr(�
254  namedtupler/r�
255  ValueErrorrr8rr�r�rbrdrhrGrrr�r�r�r�r
256  r
257  r
258  r
�<module>s< �!�
259  � k
260