
    ܖi                        d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ dZ G d d	e      Z G d
 de      Z G d de      Z G d de      Zy)zo
Interfaces for interacting with "dependency sources", i.e. sources
of fully resolved Python dependency trees.
    )annotations)ABCabstractmethod)Iterator)ResolvedFixVersion)
Dependencyzhttps://pypi.org/simple/c                  4    e Zd ZdZedd       Zedd       Zy)DependencySourcez
    Represents an abstract source of fully-resolved Python dependencies.

    Individual concrete dependency sources (e.g. `pip list`) are expected
    to subclass `DependencySource` and implement it in their terms.
    c                    t         )z8
        Yield the dependencies in this source.
        NotImplementedError)selfs    j/var/www/html/content-pipeline/venv/lib/python3.12/site-packages/pip_audit/_dependency_source/interface.pycollectzDependencySource.collect   
    
 "!    c                    t         )z@
        Upgrade a dependency to the given fix version.
        r   )r   fix_versions     r   fixzDependencySource.fix    r   r   N)returnzIterator[Dependency])r   r   r   None)__name__
__module____qualname____doc__r   r   r    r   r   r
   r
      s/     " " " "r   r
   c                      e Zd ZdZy)DependencySourceErrorz
    Raised when a `DependencySource` fails to provide its dependencies.

    Concrete implementations are expected to subclass this exception to
    provide more context.
    Nr   r   r   r   r   r   r   r   r   (   s     	r   r   c                      e Zd ZdZy)DependencyFixErrorz
    Raised when a `DependencySource` fails to perform a "fix" operation, i.e.
    fails to upgrade a package to a different version.

    Concrete implementations are expected to subclass this exception to provide
    more context.
    Nr   r   r   r   r!   r!   3   s     	r   r!   c                      e Zd ZdZy)InvalidRequirementSpecifierzi
    A `DependencySourceError` specialized for the case of a non-PEP 440 requirements
    specifier.
    Nr   r   r   r   r#   r#   ?   s    
 	r   r#   N)r   
__future__r   abcr   r   collections.abcr   pip_audit._fixr   pip_audit._servicer   PYPI_URLr
   	Exceptionr   r!   r#   r   r   r   <module>r+      sQ   
 # # $ - )%"s ".	I 			 			"7 	r   