
    (ph	              	          S r SSKrSSKJr  SSKJr  SSKJr  Sr	 SS\
S\R                  \R                     S	\R                  S
\
4S jjr SS\
S\R                  \R                     S	\R                  S
\4S jjrS\
S
\4S jrg)zf

uritemplate.api
===============

This module contains the very simple API provided by uritemplate.

    N)variable)
OrderedSet)URITemplate)r   r   expandpartial	variablesurivar_dictkwargsreturnc                 :    [        U 5      R                  " U40 UD6$ )aA  Expand the template with the given parameters.

:param str uri: The templated URI to expand
:param dict var_dict: Optional dictionary with variables and values
:param kwargs: Alternative way to pass arguments
:returns: str

Example::

    expand('https://api.github.com{/end}', {'end': 'users'})
    expand('https://api.github.com{/end}', end='gists')

.. note:: Passing values by both parts, may override values in
          ``var_dict``. For example::

              expand('https://{var}', {'var': 'val1'}, var='val2')

          ``val2`` will be used instead of ``val1``.

)r   r   r	   r
   r   s      B/var/www/html/venv/lib/python3.13/site-packages/uritemplate/api.pyr   r      s    2 s""86v66    c                 :    [        U 5      R                  " U40 UD6$ )a  Partially expand the template with the given parameters.

If all of the parameters for the template are not given, return a
partially expanded template.

:param dict var_dict: Optional dictionary with variables and values
:param kwargs: Alternative way to pass arguments
:returns: :class:`URITemplate`

Example::

    t = URITemplate('https://api.github.com{/end}')
    t.partial()  # => URITemplate('https://api.github.com{/end}')

)r   r   r   s      r   r   r   .   s    ( s##H777r   c                 >    [        [        U 5      R                  5      $ )aD  Parse the variables of the template.

This returns all of the variable names in the URI Template.

:returns: Set of variable names
:rtype: set

Example::

    variables('https://api.github.com{/end})
    # => {'end'}
    variables('https://api.github.com/repos{/username}{/repository}')
    # => {'username', 'repository'}

)r   r   variable_names)r	   s    r   r   r   E   s      k#&5566r   )N)__doc__typingturitemplater   uritemplate.orderedsetr   uritemplate.templater   __all__strOptionalVariableValueDictVariableValuer   r   r    r   r   <module>r       s       - ,
I
 8<7	7jj3347 $$7 		7< 8<8	8jj3348 $$8 	8.73 7: 7r   