+
    ,jU                    v    ^ RI Ht ^ RIHtHt ^ RIHt ^ RIHt ]'       d   ^ RI	H
t
 ^ RIHt  ! R R4      tR	# )
    )annotations)TYPE_CHECKINGOptional)Channel)PyNamelessMatchSpec)	MatchSpec)PackageRecordc                  l   ] tR t^tRtR&R R llt]R R l4       t]R R l4       t]R R	 l4       t	]R
 R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R lt]R R l4       t]R R l4       tR  R! ltR" R# ltR$tR%# )'NamelessMatchSpecz
Similar to a `MatchSpec` but does not include the package name.
This is useful in places where the package name is already known
(e.g. `foo = "3.4.1 *cuda"`).
c               0    V ^8  d   QhRRRRRRRRRRRR	/# )
   specstrstrictboolextrasconditionalsflagsreturnNone )formats   "Flib/python3.14/site-packages/rattler/match_spec/nameless_match_spec.py__annotate__NamelessMatchSpec.__annotate__   sF     & && & 	&
 & & 
&    c                    \        V\        4      '       d   \        VVVVV4      V n        R# \	        R\        V4      P                  : R24      h)a  
Create a new version spec.

When `strict` is `True`, some ambiguous version specs are rejected.

When `extras` is `True`, extras syntax (`[extras=[foo,bar]]`) is
allowed. When `conditionals` is `True`, conditionals syntax
(`>=1.0[when="python >=3.6"]`) is allowed. When `flags` is `True`,
flags syntax (`[flags=[cuda]]`) is allowed.

```python
>>> NamelessMatchSpec(">=24.0")
NamelessMatchSpec(">=24.0")
>>> NamelessMatchSpec("24")
NamelessMatchSpec("==24")
>>>
```
z8NamelessMatchSpec constructor received unsupported type z for the 'spec' parameterN)
isinstancer   r   _nameless_match_spec	TypeErrortype__name__)selfr   r   r   r   r   s   &&&&&&r   __init__NamelessMatchSpec.__init__   sZ    4 dC  (;)D% J''**CE r   c                   V ^8  d   QhRR/# r   r   zOptional[str]r   )r   s   "r   r   r   <   s     1 1 1r   c                .    V P                   P                  # )zD
The version spec of the package (e.g. `1.2.3`, `>=1.2.3`, `1.2.*`)
)r   versionr#   s   &r   r)   NamelessMatchSpec.version;   s    
 ((000r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r   C   s     / /} /r   c                .    V P                   P                  # )zJ
The build string of the package (e.g. `py37_0`, `py37h6de7cb9_0`, `py*`)
)r   buildr*   s   &r   r.   NamelessMatchSpec.buildB   s    
 ((...r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r   J   s     6 6m 6r   c                .    V P                   P                  # )z"
The build number of the package.
)r   build_numberr*   s   &r   r2   NamelessMatchSpec.build_numberI   s    
 ((555r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r   Q        3 3= 3r   c                .    V P                   P                  # )z-
Match the specific filename of the package.
)r   	file_namer*   s   &r   r7   NamelessMatchSpec.file_nameP       
 ((222r   c                   V ^8  d   QhRR/# )r   r   zOptional[Channel]r   )r   s   "r   r   r   X   s     = =* =r   c                n    V P                   P                  pT;'       d    \        P                  ! V4      # )z
The channel of the package.
)r   channelr   _from_py_channel)r#   r<   s   & r   r<   NamelessMatchSpec.channelW   s.    
 ++33<<733G<<r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r   `   s     0 0 0r   c                .    V P                   P                  # )z
The subdir of the channel.
)r   subdirr*   s   &r   rA   NamelessMatchSpec.subdir_       
 ((///r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r   g   r5   r   c                .    V P                   P                  # )z
The namespace of the package.
)r   	namespacer*   s   &r   rF   NamelessMatchSpec.namespacef   r9   r   c                   V ^8  d   QhRR/# r   r   zOptional[bytes]r   )r   s   "r   r   r   n   s     - -_ -r   c                .    V P                   P                  # )z
The md5 hash of the package.
)r   md5r*   s   &r   rK   NamelessMatchSpec.md5m   s    
 ((,,,r   c                   V ^8  d   QhRR/# rI   r   )r   s   "r   r   r   u   s     0 0 0r   c                .    V P                   P                  # )z!
The sha256 hash of the package.
)r   sha256r*   s   &r   rO   NamelessMatchSpec.sha256t   rC   r   c                   V ^8  d   QhRR/# )r   r   zOptional[list[str]]r   )r   s   "r   r   r   |   s     0 0+ 0r   c                .    V P                   P                  # )z2The extras (optional dependencies) of the package.)r   r   r*   s   &r   r   NamelessMatchSpec.extras{   s     ((///r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r      s     3 3= 3r   c                .    V P                   P                  # )z2The condition under which this match spec applies.)r   	conditionr*   s   &r   rV   NamelessMatchSpec.condition   s     ((222r   c                    V ^8  d   QhRRRR/# )r   package_recordr	   r   r   r   )r   s   "r   r   r      s     I Im I Ir   c                L    V P                   P                  VP                  4      # )z+
Match a MatchSpec against a PackageRecord
)r   matches_record)r#   rY   s   &&r   r[   NamelessMatchSpec.matches   s!     ((001G1GHHr   c                    V ^8  d   QhRRRR/# )r   py_nameless_match_specr   r   r   r   )r   s   "r   r   r      s     # #BU #Zk #r   c                4    V P                  V 4      pWn        V# )zM
Construct py-rattler NamelessMatchSpec from PyNamelessMatchSpec FFI object.
)__new__r   )clsr_   nameless_match_specs   && r   _from_py_nameless_match_spec.NamelessMatchSpec._from_py_nameless_match_spec   s    
 "kk#.3I0""r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r      s     g g9 g1B gr   c                `    V P                  \        P                  ! VP                  4      4      # )z
Constructs a NamelessMatchSpec from a MatchSpec.

Examples
--------
```python
>>> from rattler import MatchSpec
>>> NamelessMatchSpec.from_match_spec(MatchSpec("foo ==3.4"))
NamelessMatchSpec("==3.4")
>>>
```
)rd   r   from_match_spec_match_spec)rb   r   s   &&r   rh   !NamelessMatchSpec.from_match_spec   s(     //0C0S0STXTdTd0effr   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r      s     2 2 2r   c                6    V P                   P                  4       # )z
Returns a string representation of the NamelessMatchSpec.

Examples
--------
```python
>>> str(NamelessMatchSpec("3.4"))
'==3.4'
>>>
```
r   as_strr*   s   &r   __str__NamelessMatchSpec.__str__   s     ((//11r   c                   V ^8  d   QhRR/# rl   r   )r   s   "r   r   r      s     L L# Lr   c                >    RV P                   P                  4        R2# )z
Returns a representation of the NamelessMatchSpec.

Examples
--------
```python
>>> NamelessMatchSpec("3.4")
NamelessMatchSpec("==3.4")
>>>
```
zNamelessMatchSpec("z")rn   r*   s   &r   __repr__NamelessMatchSpec.__repr__   s#     %T%>%>%E%E%G$HKKr   )r   N)FTTT)r"   
__module____qualname____firstlineno____doc__r$   propertyr)   r.   r2   r7   r<   rA   rF   rK   rO   r   rV   r[   classmethodrd   rh   rp   rt   __static_attributes__r   r   r   r   r      s*   &P 1 1 / / 6 6 3 3 = = 0 0 3 3 - - 0 0 0 0 3 3I # # g g2L Lr   r   N)
__future__r   typingr   r   rattler.channel.channelr   rattler.rattlerr   rattler.match_specr   rattler.repo_datar	   r   r   r   r   <module>r      s(    " * + /,/sL sLr   