+
    Vj&                     n     ^ RI t^ RIHt ^ RIt^RIHt  ! R R]4      t	R t
R#   ] d    ^ RIt L-i ; i)    N)
namedtuple)Releasec                     a  ] tR t^$t o RtR tR t]R 4       t]R 4       t	]R 4       t
]R 4       t]R 4       t]R	 4       t]R
 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tR tRtV tR# )PackagezQ
A PyPI package.

:param pypi_dict: A dictionary retrieved from the PyPI server.
c                >    VR ,          V n         VR,          V n        R# )inforeleasesN_package	_releases)self	pypi_dicts   &&A/var/www/idalgo/venv/lib/python3.14/site-packages/yarg/package.py__init__Package.__init__+   s    !&)":.    c                8    R P                  V P                  4      # )z<Package {0}>)formatnamer   s   &r   __repr__Package.__repr__/   s    %%dii00r   c                (    V P                   R,          # )z8
>>> package = yarg.get('yarg')
>>> package.name
'yarg'
r   r   r   s   &r   r   Package.name2   s     }}V$$r   c                (    V P                   R,          # )zT
>>> package = yarg.get('yarg')
>>> package.url
'https://pypi.python.org/pypi/yarg'
package_urlr   r   s   &r   pypi_urlPackage.pypi_url;        }}]++r   c                (    V P                   R,          # )zP
>>> package = yarg.get('yarg')
>>> package.summary
'Some random summary stuff'
summaryr   r   s   &r   r"   Package.summaryD        }}Y''r   c                (    V P                   R,          # )zu
>>> package = yarg.get('yarg')
>>> package.description
'A super long description, usually uploaded from the README'
descriptionr   r   s   &r   r&   Package.descriptionM   r    r   c                ~    RV P                   9  g   V P                   R,          R8X  d   R# V P                   R,          # )zM
>>> package = yarg.get('yarg')
>>> package.homepage
'https://kura.io/yarg/'
	home_page Nr   r   s   &r   homepagePackage.homepageV   s3     t}},==%+}}[))r   c                ~    RV P                   9  g   V P                   R,          R8X  d   R# V P                   R,          # )z]
>>> package = yarg.get('yarg')
>>> package.bugtracker
'https://github.com/kura/yarg/issues'
bugtrack_urlr*   Nr   r   s   &r   
bugtrackerPackage.bugtrackerb   s3     $--/==(B.}}^,,r   c                ~    RV P                   9  g   V P                   R,          R8X  d   R# V P                   R,          # )zZ
>>> package = yarg.get('yarg')
>>> package.docs
'https://yarg.readthedocs.org/en/latest'
docs_urlr*   Nr   r   s   &r   docsPackage.docsn   s3     dmm+==$*}}Z((r   c                r    \        RR4      pV! V P                  R,          V P                  R,          R7      # )z]
>>> package = yarg.get('yarg')
>>> package.author
Author(name='Kura', email='kura@kura.io')
Author
name emailauthorauthor_emailr   emailr   r   )r   r8   s   & r   r8   Package.authorz   s4     Hl34==2 MM.9; 	;r   c                r    \        RR4      pV! V P                  R,          V P                  R,          R7      # )ze
>>> package = yarg.get('yarg')
>>> package.maintainer
Maintainer(name='Kura', email='kura@kura.io')

Maintainerr7   
maintainermaintainer_emailr:   r<   )r   r@   s   & r   r@   Package.maintainer   s7      l;
t}}\: $.@ AC 	Cr   c                (    V P                   R,          # )z:
>>> package = yarg.get('yarg')
>>> package.license
'MIT'
licenser   r   s   &r   rD   Package.license   r$   r   c                    \        V P                  4      ^ 8  dG   V P                   F4  pVP                  R4      '       g   K  VP                  R4      R,          u # 	  R# R# )zS
>>> package = yarg.get('yarg')
>>> package.license_from_classifiers
'MIT License'
License :: N)lenclassifiers
startswithsplitr   cs   & r   license_from_classifiers Package.license_from_classifiers   sN     t 1$%%<<	**776?2.. & %r   c                    V P                   R,          p\        RR4      pV! VR,          VR,          VR,          R7      # )zq
>>> package = yarg.get('yarg')
>>> package.downloads
Downloads(day=50100, week=367941, month=1601938)  # I wish
	downloads	Downloadszday week monthlast_day	last_week
last_month)dayweekmonth)r   r   )r   
_downloadsrS   s   &  r   rS   Package.downloads   sC     ]];/
{,<=	Z
3(5),79 	9r   c                (    V P                   R,          # )z
>>> package = yarg.get('yarg')
>>> package.classifiers
['License :: OSI Approved :: MIT License',
 'Programming Language :: Python :: 2.7',
 'Programming Language :: Python :: 3.4']
rK   r   r   s   &r   rK   Package.classifiers   s     }}]++r   c                    \         P                  ! R4      pV P                   Uu. uF4  pVP                  V4      '       g   K  VP	                  R4      R,          NK6  	  up# u upi )z
Returns a list of Python version strings that
the package has listed in :attr:`yarg.Release.classifiers`.

    >>> package = yarg.get('yarg')
    >>> package.python_versions
    ['2.6', '2.7', '3.3', '3.4']
z,Programming Language \:\: Python \:\: \d\.\drH   rI   )recompilerK   matchrM   )r   
version_rerO   s   &  r   python_versionsPackage.python_versions   sb     ZZ !9 :
-1-=-= (-=##A& $##-= ( 	( (s   A"A"c                    V P                    Uu. uF4  pVP                  R4      '       g   K  VP                  R4      R,          NK6  	  up# u upi )z
Returns a list of Python implementation strings that
the package has listed in :attr:`yarg.Release.classifiers`.

    >>> package = yarg.get('yarg')
    >>> package.python_implementations
    ['CPython', 'PyPy']
z0Programming Language :: Python :: ImplementationrH   rI   )rK   rL   rM   rN   s   & r   python_implementationsPackage.python_implementations   sW     .2-=-= A-=<< !? @ $##-= A 	A As
   AAc                (    V P                   R,          # )zF
>>> package = yarg.get('yarg')
>>> package.latest_release_id
'0.1.0'
versionr   r   s   &r   latest_release_idPackage.latest_release_id   r$   r   c                <    V P                   pV P                  V4      # )z
A list of :class:`yarg.release.Release` objects for each file in the
latest release.

    >>> package = yarg.get('yarg')
    >>> package.latest_release
    [<Release 0.1.0>, <Release 0.1.0>]
)rk   release)r   
release_ids   & r   latest_releasePackage.latest_release   s     ++
||J''r   c                T    V P                    F  pVP                  R9   g   K   R# 	  R# )z
Returns `True` if one of the :class:`yarg.release.Release` objects
in the latest set of release files is `wheel` format. Returns
`False` if not.

    >>> package = yarg.get('yarg')
    >>> package.has_wheel
    True
TF)wheelbdist_wheelrp   package_typer   rn   s   & r   	has_wheelPackage.has_wheel   s+     **G##'?? + r   c                T    V P                    F  pVP                  R9   g   K   R# 	  R# )z
Returns `True` if one of the :class:`yarg.release.Release` objects
in the latest set of release files is `egg` format. Returns
`False` if not.

    >>> package = yarg.get('yarg')
    >>> package.has_egg
    False
TF)egg	bdist_eggru   rw   s   & r   has_eggPackage.has_egg   s+     **G##';; + r   c                T    V P                    F  pVP                  R9   g   K   R# 	  R# )z
Returns `True` if one of the :class:`yarg.release.Release` objects
in the latest set of release files is `source` format. Returns
`False` if not.

    >>> package = yarg.get('yarg')
    >>> package.has_source
    True
TF)sourcesdistru   rw   s   & r   
has_sourcePackage.has_source  s+     **G##':: + r   c                6   V P                   P                  4        Uu. uFH  p\        V P                   V,          4      ^ 8  g   K&  WP                   V,          ^ ,          R,          3NKJ  	  pp\        VR R7       Uu. uF  q^ ,          NK  	  up# u upi u upi )zT
>>> package = yarg.get('yarg')
>>> package.release_ids
['0.0.1', '0.0.5', '0.1.0']
upload_timec                     V ^,          # )    )ks   &r   <lambda>%Package.release_ids.<locals>.<lambda>*  s    adr   )key)r   keysrJ   sorted)r   r   rs   &  r   release_idsPackage.release_ids   s     nn))+,+DNN1%&* 6a"1%m45+ 	
 , %QN;<;!;<<, =s   #B&B=Bc                    WP                   9  d   R# V P                  V,           Uu. uF  p\        W4      NK  	  up# u upi )a  
A list of :class:`yarg.release.Release` objects for each file in a
release.

:param release_id: A pypi release id.

    >>> package = yarg.get('yarg')
    >>> last_release = yarg.releases[-1]
    >>> package.release(last_release)
    [<Release 0.1.0>, <Release 0.1.0>]
N)r   r   r   )r   ro   r   s   && r   rn   Package.release,  s;     ---04z0JK0J1
&0JKKKs   ?r
   N) __name__
__module____qualname____firstlineno____doc__r   r   propertyr   r   r"   r&   r+   r/   r3   r8   r@   rD   rP   rS   rK   rd   rg   rk   rp   rx   r}   r   r   rn   __static_attributes____classdictcell__)__classdict__s   @r   r   r   $   s    /1 % % , , ( ( , , 	* 	* 	- 	- 	) 	) ; ; C C ( ( 	/ 	/ 
9 
9 , , ( ( A A ( ( 
( 
(       	= 	=L Lr   r   c                @    \        \        P                  ! V 4      4      # )z
Returns a :class:`yarg.release.Release` object from JSON content from the
PyPI server.

:param json_content: JSON encoded content from the PyPI server.
)r   jsonloads)json_contents   &r   json2packager   =  s     4::l+,,r   )
simplejsonr   ImportErrorcollectionsr   r`   rn   r   objectr   r   r   r   r   <module>r      sC   4 # 	 VLf VLr-C	  s   & 44