ó
    01™i/  ã                   ó^   • S r SSKJr  SSKJr  SSKJr  SS jrSS jrSS jr	SS jr
SS	 jrg
)z¢
Module containing the simple and functional API for rfc3986.

This module defines functions and provides access to the public attributes
and classes of rfc3986.
é   )ÚIRIReference)ÚParseResult)ÚURIReferencec                 ó.   • [         R                  " X5      $ )aF  Parse a URI string into a URIReference.

This is a convenience function. You could achieve the same end by using
``URIReference.from_string(uri)``.

:param str uri: The URI which needs to be parsed into a reference.
:param str encoding: The encoding of the string provided
:returns: A parsed URI
:rtype: :class:`URIReference`
)r   Úfrom_string©ÚuriÚencodings     ÚE/home/james-whalen/.local/lib/python3.13/site-packages/rfc3986/api.pyÚuri_referencer      ó   € ô ×#Ò# CÓ2Ð2ó    c                 ó.   • [         R                  " X5      $ )aG  Parse a IRI string into an IRIReference.

This is a convenience function. You could achieve the same end by using
``IRIReference.from_string(iri)``.

:param str iri: The IRI which needs to be parsed into a reference.
:param str encoding: The encoding of the string provided
:returns: A parsed IRI
:rtype: :class:`IRIReference`
)r   r   )Úirir
   s     r   Úiri_referencer   )   r   r   c                 óN   • [         R                  " X5      R                  " S0 UD6$ )a›  Determine if the URI given is valid.

This is a convenience function. You could use either
``uri_reference(uri).is_valid()`` or
``URIReference.from_string(uri).is_valid()`` to achieve the same result.

:param str uri: The URI to be validated.
:param str encoding: The encoding of the string provided
:param bool require_scheme: Set to ``True`` if you wish to require the
    presence of the scheme component.
:param bool require_authority: Set to ``True`` if you wish to require the
    presence of the authority component.
:param bool require_path: Set to ``True`` if you wish to require the
    presence of the path component.
:param bool require_query: Set to ``True`` if you wish to require the
    presence of the query component.
:param bool require_fragment: Set to ``True`` if you wish to require the
    presence of the fragment component.
:returns: ``True`` if the URI is valid, ``False`` otherwise.
:rtype: bool
© )r   r   Úis_valid)r	   r
   Úkwargss      r   Úis_valid_urir   7   s#   € ô, ×#Ò# CÓ2×;Ò;ÑE¸fÑEÐEr   c                 ój   • [         R                  " X5      R                  5       nUR                  5       $ )aN  Normalize the given URI.

This is a convenience function. You could use either
``uri_reference(uri).normalize().unsplit()`` or
``URIReference.from_string(uri).normalize().unsplit()`` instead.

:param str uri: The URI to be normalized.
:param str encoding: The encoding of the string provided
:returns: The normalized URI.
:rtype: str
)r   r   Ú	normalizeÚunsplit)r	   r
   Únormalized_references      r   Únormalize_urir   P   s-   € ô (×3Ò3°CÓB×LÑLÓNÐØ×'Ñ'Ó)Ð)r   c                 ó,   • [         R                  " XSS9$ )a"  Parse a given URI and return a ParseResult.

This is a partial replacement of the standard library's urlparse function.

:param str uri: The URI to be parsed.
:param str encoding: The encoding of the string provided.
:returns: A parsed URI
:rtype: :class:`~rfc3986.parseresult.ParseResult`
F)Ústrict)r   r   r   s     r   Úurlparser   `   s   € ô ×"Ò" 3¸Ñ?Ð?r   N)zutf-8)Ú__doc__r   r   Úparseresultr   r	   r   r   r   r   r   r   r   r   r   Ú<module>r!      s0   ðñõ Ý $Ý ô3ô3ôFô2*õ 
@r   