+
    ,jR'                    z    ^ RI Ht ^ RIt^ RIHt ^ RIHtHtHtH	t	 ^ RI
Ht ]'       d   ^ RIHt  ! R R4      tR# )	    )annotationsN)Path)TYPE_CHECKINGAnyListOptional)PyAboutJson)Clientc                  6   ] tR t^t$ RtR]R&   ]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]P                  R R l4       t]R R l4       t]P                  R R l4       t]R R l4       t]P                  R R l4       t]R R l4       t]P                  R R l4       t]R R l4       t]P                  R  R! l4       t]R" R# l4       t]P                  R$ R% l4       t]R& R' l4       t]P                  R( R) l4       t]R* R+ l4       t]P                  R, R- l4       t]R. R/ l4       t]P                  R0 R1 l4       t]R2 R3 l4       t]P                  R4 R5 l4       t]
R6 R7 l4       tR8 R9 ltR:tR;# )<	AboutJsonz<
The `about.json` file contains metadata about the package.
r	   _innerc                    V ^8  d   QhRRRR/#    pathzos.PathLike[str]returnr    )formats   ":lib/python3.14/site-packages/rattler/package/about_json.py__annotate__AboutJson.__annotate__   s     P P( PY P    c                f    \         P                  \        P                  ! \	        V 4      4      4      # )a  
Parses the object from a file specified by a `path`, using a format
appropriate for the file type.

For example, if the file is in JSON format, this function reads the data
from the file at the specified path, parse the JSON string and return the
resulting object. If the file is not in a parsable format or if the file
could not read, this function returns an error.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about
AboutJson()
>>>
```
)r   _from_py_about_jsonr	   	from_pathr   r   s   &r   r   AboutJson.from_path   s$    ( ,,[-B-B4:-NOOr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   +   s     ] ]%5 ]) ]r   c                f    \         P                  \        P                  ! \	        V 4      4      4      # )a  
Parses the object by looking up the appropriate file from the root of the
specified Conda archive directory, using a format appropriate for the file
type.

For example, if the file is in JSON format, this function reads the
appropriate file from the archive, parse the JSON string and return the
resulting object. If the file is not in a parsable format or if the file
could not be read, this function returns an error.
)r   r   r	   from_package_directoryr   r   s   &r   r     AboutJson.from_package_directory*   s'     ,,[-O-OPTUYPZ-[\\r   c                    V ^8  d   QhRRRR/# )r   stringstrr   r   r   )r   s   "r   r   r   9   s     K K K Kr   c                T    \         P                  \        P                  ! V 4      4      # )a  
Parses the object from a string, using a format appropriate for the file
type.

For example, if the file is in JSON format, this function parses the JSON
string and returns the resulting object. If the file is not in a parsable
format, this function returns an error.

Examples
--------
```python
>>> import json
>>> with open("../test-data/dummy-about.json", 'r') as file:
...     json_str = json.dumps(json.load(file))
>>> about = AboutJson.from_str(json_str)
>>> about
AboutJson()
>>>
```
)r   r   r	   from_str)r#   s   &r   r&   AboutJson.from_str8   s     , ,,[-A-A&-IJJr   c               $    V ^8  d   QhRRRRRR/# )r   clientr
   urlr$   r   zOptional[AboutJson]r   )r   s   "r   r   r   Q   s"     6 66 6 6@S 6r   c                   "   \         P                  ! VP                  V4      G Rj  xL
 pVf   R# V P                  V4      #  L5i)z>
Fetches `info/about.json` from a remote package archive URL.
N)r	   from_remote_url_clientr   )clsr)   r*   py_about_jsons   &&& r   r,   AboutJson.from_remote_urlP   s@     
 *99&..#NN &&}55 Os   %AAAc                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   [   s     * *$ *r   c                 ,    \         P                  ! 4       # )z
Returns the path to the file within the Conda archive.

The path is relative to the root of the archive and includes any necessary
directories.

Examples
--------
```python
>>> str(AboutJson.package_path())
'info/about.json'
>>>
```
)r	   package_pathr   r   r   r3   AboutJson.package_pathZ   s      ''))r   c                   V ^8  d   QhRR/# r   r   	List[str]r   )r   s   "r   r   r   m   s     $ $) $r   c                .    V P                   P                  # )a4  
A list of channels that where used during the build.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.channels
['https://conda.anaconda.org/conda-forge']
>>> about.channels = ['https://test.channel']
>>> about.channels
['https://test.channel']
>>>
```
r   channelsselfs   &r   r:   AboutJson.channelsl   s    " {{###r   c                    V ^8  d   QhRRRR/# r   valuer7   r   Noner   )r   s   "r   r   r      s     % %i %D %r   c                	&    WP                   n        R # Nr9   r<   r@   s   &&r   r:   r=      s    $r   c                   V ^8  d   QhRR/# r   r   Optional[str]r   )r   s   "r   r   r      s      ] r   c                F    V P                   P                  ;p'       d   V# R# )a  
Description of the package.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.description
'A dummy description.'
>>> about.description = 'New description'
>>> about.description
'New description'
>>>
```
Nr   description)r<   rJ   s   & r   rJ   AboutJson.description   s"    " ++111;1r   c                    V ^8  d   QhRRRR/# r   r@   rG   r   rA   r   )r   s   "r   r   r      s     ( ( (4 (r   c                	&    WP                   n        R # rC   rI   rD   s   &&r   rJ   rK      s    "'r   c                   V ^8  d   QhRR/# r6   r   )r   s   "r   r   r           # # #r   c                .    V P                   P                  # )a&  
A list of URLs to the development page of the package.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.dev_url
['https://github.com/conda/rattler']
>>> about.dev_url = ['https://test.dev']
>>> about.dev_url
['https://test.dev/']
>>>
```
r   dev_urlr;   s   &r   rS   AboutJson.dev_url       " {{"""r   c                    V ^8  d   QhRRRR/# r?   r   )r   s   "r   r   r           $ $Y $4 $r   c                	&    WP                   n        R # rC   rR   rD   s   &&r   rS   rT          #r   c                   V ^8  d   QhRR/# r6   r   )r   s   "r   r   r      rP   r   c                .    V P                   P                  # )a0  
A list of URLs to the documentation of the package.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.doc_url
['https://conda.github.io/rattler/py-rattler/']
>>> about.doc_url = ['https://test.docs']
>>> about.doc_url
['https://test.docs/']
>>>
```
r   doc_urlr;   s   &r   r]   AboutJson.doc_url   rU   r   c                    V ^8  d   QhRRRR/# r?   r   )r   s   "r   r   r      rW   r   c                	&    WP                   n        R # rC   r\   rD   s   &&r   r]   r^      rY   r   c                   V ^8  d   QhRR/# r6   r   )r   s   "r   r   r      s        i  r   c                .    V P                   P                  # )a  
A list URL to the homepage of the package.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.home
['http://github.com/conda/rattler']
>>> about.home = ['https://test.home']
>>> about.home
['https://test.home/']
>>>
```
r   homer;   s   &r   rd   AboutJson.home   s    " {{r   c                    V ^8  d   QhRRRR/# r?   r   )r   s   "r   r   r      s     ! !) ! !r   c                	&    WP                   n        R # rC   rc   rD   s   &&r   rd   re      s     r   c                   V ^8  d   QhRR/# )r   r   dict[str, Any]r   )r   s   "r   r   r      s     ! !~ !r   c                .    V P                   P                  # )aB  
The JSON-serializable `extra` metadata attached to `about.json`.

Examples
--------
```python
>>> about = AboutJson.from_str('{"extra": {"flow_id": "2024.08.13"}}')
>>> about.extra
{'flow_id': '2024.08.13'}
>>> about.extra = {"nested": {"value": [1, 2, None]}}
>>> about.extra
{'nested': {'value': [1, 2, None]}}
>>>
```
r   extrar;   s   &r   rl   AboutJson.extra   s    " {{   r   c                    V ^8  d   QhRRRR/# )r   r@   ri   r   rA   r   )r   s   "r   r   r      s     " "> "d "r   c                	&    WP                   n        R # rC   rk   rD   s   &&r   rl   rm      s    !r   c                   V ^8  d   QhRR/# rF   r   )r   s   "r   r   r             r   c                F    V P                   P                  ;p'       d   V# R# )z
The license of the package.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.license
'BSD-3-Clause'
>>> about.license = 'MIT'
>>> about.license
'MIT'
>>>
```
Nr   license)r<   rt   s   & r   rt   AboutJson.license   !    " kk)))7)Nr   c                    V ^8  d   QhRRRR/# rM   r   )r   s   "r   r   r          $ $] $t $r   c                	&    WP                   n        R # rC   rs   rD   s   &&r   rt   ru     rY   r   c                   V ^8  d   QhRR/# rF   r   )r   s   "r   r   r     s       r   c                F    V P                   P                  ;p'       d   V# R# )a  
The license family of the package.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.license_family
>>> type(about.license_family)
<class 'NoneType'>
>>> about.license_family = 'BSD'
>>> about.license_family
'BSD'
>>>
```
Nr   license_family)r<   r}   s   & r   r}   AboutJson.license_family  s"    $ "[[777>7!!r   c                    V ^8  d   QhRRRR/# rM   r   )r   s   "r   r   r   +  s     + +M +d +r   c                	&    WP                   n        R # rC   r|   rD   s   &&r   r}   r~   *  s    %*"r   c                   V ^8  d   QhRR/# rF   r   )r   s   "r   r   r   /  s      M r   c                F    V P                   P                  ;p'       d   V# R# )a*  
The URL to the latest source code of the package.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.source_url
'https://github.com/conda/rattler'
>>> about.source_url = 'https://test.source'
>>> about.source_url
'https://test.source/'
>>>
```
Nr   
source_url)r<   r   s   & r   r   AboutJson.source_url.  s"    " ///:/r   c                    V ^8  d   QhRRRR/# rM   r   )r   s   "r   r   r   E  s     ' ' '$ 'r   c                	&    WP                   n        R # rC   r   rD   s   &&r   r   r   D  s    !&r   c                   V ^8  d   QhRR/# rF   r   )r   s   "r   r   r   I  rq   r   c                F    V P                   P                  ;p'       d   V# R# )z
A Short summary description.

Examples
--------
```python
>>> about = AboutJson.from_path("../test-data/dummy-about.json")
>>> about.summary
'A dummy summary.'
>>> about.summary = 'New summary'
>>> about.summary
'New summary'
>>>
```
Nr   summary)r<   r   s   & r   r   AboutJson.summaryH  rv   r   c                    V ^8  d   QhRRRR/# rM   r   )r   s   "r   r   r   _  rx   r   c                	&    WP                   n        R # rC   r   rD   s   &&r   r   r   ^  rY   r   c                    V ^8  d   QhRRRR/# )r   r/   r	   r   r   r   )r   s   "r   r   r   c  s       	 r   c                	4    V P                  V 4      pWn        V# rC   )__new__r   )r.   r/   
about_jsons   && r   r   AboutJson._from_py_about_jsonb  s    [[%
)r   c                   V ^8  d   QhRR/# )r   r   r$   r   )r   s   "r   r   r   i  s      # r   c                    R# )z,
Returns a representation of the AboutJson.
zAboutJson()r   r;   s   &r   __repr__AboutJson.__repr__i  s     r   r   N)__name__
__module____qualname____firstlineno____doc____annotations__staticmethodr   r    r&   classmethodr,   r3   propertyr:   setterrJ   rS   r]   rd   rl   rt   r}   r   r   r   r   __static_attributes__r   r   r   r   r      sS    P P* ] ] K K. 6 6 * *" $ $$ __% %  * ( ( # #$ ^^$ $ # #$ ^^$ $    $ 
[[! ! ! !$ \\" "  * ^^$ $  , + +  * ' '  * ^^$ $   r   r   )
__future__r   ospathlibr   typingr   r   r   r   rattler.rattlerr	   rattler.networking.clientr
   r   r   r   r   <module>r      s)    " 	  5 5 '0` `r   