uvicorn API Reference

Full documentation for uvicorn (0.47.0)

uvicorn.Config
Python Library Documentation: class Config in module uvicorn.config

class Config(builtins.object)
 |  Config(app: 'ASGIApplication | Callable[..., Any] | str', host: 'str' = '127.0.0.1', port: 'int' = 8000, uds: 'str | None' = None, fd: 'int | None' = None, loop: 'LoopFactoryType | str' = 'auto', http: 'type[asyncio.Protocol] | HTTPProtocolType | str' = 'auto', ws: 'type[asyncio.Protocol] | WSProtocolType | str' = 'auto', ws_max_size: 'int' = 16777216, ws_max_queue: 'int' = 32, ws_ping_interval: 'float | None' = 20.0, ws_ping_timeout: 'float | None' = 20.0, ws_per_message_deflate: 'bool' = True, lifespan: 'LifespanType' = 'auto', env_file: 'str | os.PathLike[str] | None' = None, log_config: 'dict[str, Any] | str | os.PathLike[str] | RawConfigParser | IO[Any] | None' = {'version': 1, 'disable_existing_loggers': False, 'formatters': {'default': {'()': 'uvicorn.logging.DefaultFormatter', 'fmt': '%(levelprefix)s %(message)s', 'use_colors': None}, 'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'}}, 'handlers': {'default': {'formatter': 'default', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stderr'}, 'access': {'formatter': 'access', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stdout'}}, 'loggers': {'uvicorn': {'handlers': ['default'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}, 'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}}}, log_level: 'str | int | None' = None, access_log: 'bool' = True, use_colors: 'bool | None' = None, interface: 'InterfaceType' = 'auto', reload: 'bool' = False, reload_dirs: 'list[str] | str | None' = None, reload_delay: 'float' = 0.25, reload_includes: 'list[str] | str | None' = None, reload_excludes: 'list[str] | str | None' = None, workers: 'int | None' = None, proxy_headers: 'bool' = True, server_header: 'bool' = True, date_header: 'bool' = True, forwarded_allow_ips: 'list[str] | str | None' = None, root_path: 'str' = '', limit_concurrency: 'int | None' = None, limit_max_requests: 'int | None' = None, limit_max_requests_jitter: 'int' = 0, backlog: 'int' = 2048, timeout_keep_alive: 'int' = 5, timeout_notify: 'int' = 30, timeout_graceful_shutdown: 'int | None' = None, timeout_worker_healthcheck: 'int' = 5, callback_notify: 'Callable[..., Awaitable[None]] | None' = None, ssl_keyfile: 'str | os.PathLike[str] | None' = None, ssl_certfile: 'str | os.PathLike[str] | None' = None, ssl_keyfile_password: 'str | None' = None, ssl_version: 'int' = <_SSLMethod.PROTOCOL_TLS_SERVER: 17>, ssl_cert_reqs: 'int' = <VerifyMode.CERT_NONE: 0>, ssl_ca_certs: 'str | os.PathLike[str] | None' = None, ssl_ciphers: 'str' = 'TLSv1', ssl_context_factory: 'Callable[[Config, Callable[[], ssl.SSLContext]], ssl.SSLContext] | None' = None, headers: 'list[tuple[str, str]] | None' = None, factory: 'bool' = False, h11_max_incomplete_event_size: 'int | None' = None, reset_contextvars: 'bool' = False)
 |
 |  Methods defined here:
 |
 |  __init__(self, app: 'ASGIApplication | Callable[..., Any] | str', host: 'str' = '127.0.0.1', port: 'int' = 8000, uds: 'str | None' = None, fd: 'int | None' = None, loop: 'LoopFactoryType | str' = 'auto', http: 'type[asyncio.Protocol] | HTTPProtocolType | str' = 'auto', ws: 'type[asyncio.Protocol] | WSProtocolType | str' = 'auto', ws_max_size: 'int' = 16777216, ws_max_queue: 'int' = 32, ws_ping_interval: 'float | None' = 20.0, ws_ping_timeout: 'float | None' = 20.0, ws_per_message_deflate: 'bool' = True, lifespan: 'LifespanType' = 'auto', env_file: 'str | os.PathLike[str] | None' = None, log_config: 'dict[str, Any] | str | os.PathLike[str] | RawConfigParser | IO[Any] | None' = {'version': 1, 'disable_existing_loggers': False, 'formatters': {'default': {'()': 'uvicorn.logging.DefaultFormatter', 'fmt': '%(levelprefix)s %(message)s', 'use_colors': None}, 'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'}}, 'handlers': {'default': {'formatter': 'default', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stderr'}, 'access': {'formatter': 'access', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stdout'}}, 'loggers': {'uvicorn': {'handlers': ['default'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}, 'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}}}, log_level: 'str | int | None' = None, access_log: 'bool' = True, use_colors: 'bool | None' = None, interface: 'InterfaceType' = 'auto', reload: 'bool' = False, reload_dirs: 'list[str] | str | None' = None, reload_delay: 'float' = 0.25, reload_includes: 'list[str] | str | None' = None, reload_excludes: 'list[str] | str | None' = None, workers: 'int | None' = None, proxy_headers: 'bool' = True, server_header: 'bool' = True, date_header: 'bool' = True, forwarded_allow_ips: 'list[str] | str | None' = None, root_path: 'str' = '', limit_concurrency: 'int | None' = None, limit_max_requests: 'int | None' = None, limit_max_requests_jitter: 'int' = 0, backlog: 'int' = 2048, timeout_keep_alive: 'int' = 5, timeout_notify: 'int' = 30, timeout_graceful_shutdown: 'int | None' = None, timeout_worker_healthcheck: 'int' = 5, callback_notify: 'Callable[..., Awaitable[None]] | None' = None, ssl_keyfile: 'str | os.PathLike[str] | None' = None, ssl_certfile: 'str | os.PathLike[str] | None' = None, ssl_keyfile_password: 'str | None' = None, ssl_version: 'int' = <_SSLMethod.PROTOCOL_TLS_SERVER: 17>, ssl_cert_reqs: 'int' = <VerifyMode.CERT_NONE: 0>, ssl_ca_certs: 'str | os.PathLike[str] | None' = None, ssl_ciphers: 'str' = 'TLSv1', ssl_context_factory: 'Callable[[Config, Callable[[], ssl.SSLContext]], ssl.SSLContext] | None' = None, headers: 'list[tuple[str, str]] | None' = None, factory: 'bool' = False, h11_max_incomplete_event_size: 'int | None' = None, reset_contextvars: 'bool' = False)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  bind_socket(self) -> 'socket.socket'
 |
 |  configure_logging(self) -> 'None'
 |
 |  get_loop_factory(self) -> 'Callable[[], asyncio.AbstractEventLoop] | None'
 |
 |  load(self) -> 'None'
 |
 |  load_app(self) -> 'Any'
 |      Import the app and return it. Exits on failure.
 |
 |  setup_event_loop(self) -> 'None'
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |
 |  asgi_version
 |
 |  is_ssl
 |
 |  should_reload
 |
 |  use_subprocess
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
uvicorn.Server
Python Library Documentation: class Server in module uvicorn.server

class Server(builtins.object)
 |  Server(config: 'Config') -> 'None'
 |
 |  Methods defined here:
 |
 |  __init__(self, config: 'Config') -> 'None'
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  capture_signals(self) -> 'Generator[None, None, None]'
 |
 |  handle_exit(self, sig: 'int', frame: 'FrameType | None') -> 'None'
 |
 |  limit_max_requests = <functools.cached_property object>
 |  async main_loop(self) -> 'None'
 |
 |  async on_tick(self, counter: 'int') -> 'bool'
 |
 |  run(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
 |
 |  async serve(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
 |
 |  async shutdown(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
 |
 |  async startup(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
uvicorn.config
Python Library Documentation: module uvicorn.config in uvicorn

NAME
    uvicorn.config

CLASSES
    builtins.object
        Config

    class Config(builtins.object)
     |  Config(app: 'ASGIApplication | Callable[..., Any] | str', host: 'str' = '127.0.0.1', port: 'int' = 8000, uds: 'str | None' = None, fd: 'int | None' = None, loop: 'LoopFactoryType | str' = 'auto', http: 'type[asyncio.Protocol] | HTTPProtocolType | str' = 'auto', ws: 'type[asyncio.Protocol] | WSProtocolType | str' = 'auto', ws_max_size: 'int' = 16777216, ws_max_queue: 'int' = 32, ws_ping_interval: 'float | None' = 20.0, ws_ping_timeout: 'float | None' = 20.0, ws_per_message_deflate: 'bool' = True, lifespan: 'LifespanType' = 'auto', env_file: 'str | os.PathLike[str] | None' = None, log_config: 'dict[str, Any] | str | os.PathLike[str] | RawConfigParser | IO[Any] | None' = {'version': 1, 'disable_existing_loggers': False, 'formatters': {'default': {'()': 'uvicorn.logging.DefaultFormatter', 'fmt': '%(levelprefix)s %(message)s', 'use_colors': None}, 'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'}}, 'handlers': {'default': {'formatter': 'default', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stderr'}, 'access': {'formatter': 'access', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stdout'}}, 'loggers': {'uvicorn': {'handlers': ['default'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}, 'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}}}, log_level: 'str | int | None' = None, access_log: 'bool' = True, use_colors: 'bool | None' = None, interface: 'InterfaceType' = 'auto', reload: 'bool' = False, reload_dirs: 'list[str] | str | None' = None, reload_delay: 'float' = 0.25, reload_includes: 'list[str] | str | None' = None, reload_excludes: 'list[str] | str | None' = None, workers: 'int | None' = None, proxy_headers: 'bool' = True, server_header: 'bool' = True, date_header: 'bool' = True, forwarded_allow_ips: 'list[str] | str | None' = None, root_path: 'str' = '', limit_concurrency: 'int | None' = None, limit_max_requests: 'int | None' = None, limit_max_requests_jitter: 'int' = 0, backlog: 'int' = 2048, timeout_keep_alive: 'int' = 5, timeout_notify: 'int' = 30, timeout_graceful_shutdown: 'int | None' = None, timeout_worker_healthcheck: 'int' = 5, callback_notify: 'Callable[..., Awaitable[None]] | None' = None, ssl_keyfile: 'str | os.PathLike[str] | None' = None, ssl_certfile: 'str | os.PathLike[str] | None' = None, ssl_keyfile_password: 'str | None' = None, ssl_version: 'int' = <_SSLMethod.PROTOCOL_TLS_SERVER: 17>, ssl_cert_reqs: 'int' = <VerifyMode.CERT_NONE: 0>, ssl_ca_certs: 'str | os.PathLike[str] | None' = None, ssl_ciphers: 'str' = 'TLSv1', ssl_context_factory: 'Callable[[Config, Callable[[], ssl.SSLContext]], ssl.SSLContext] | None' = None, headers: 'list[tuple[str, str]] | None' = None, factory: 'bool' = False, h11_max_incomplete_event_size: 'int | None' = None, reset_contextvars: 'bool' = False)
     |
     |  Methods defined here:
     |
     |  __init__(self, app: 'ASGIApplication | Callable[..., Any] | str', host: 'str' = '127.0.0.1', port: 'int' = 8000, uds: 'str | None' = None, fd: 'int | None' = None, loop: 'LoopFactoryType | str' = 'auto', http: 'type[asyncio.Protocol] | HTTPProtocolType | str' = 'auto', ws: 'type[asyncio.Protocol] | WSProtocolType | str' = 'auto', ws_max_size: 'int' = 16777216, ws_max_queue: 'int' = 32, ws_ping_interval: 'float | None' = 20.0, ws_ping_timeout: 'float | None' = 20.0, ws_per_message_deflate: 'bool' = True, lifespan: 'LifespanType' = 'auto', env_file: 'str | os.PathLike[str] | None' = None, log_config: 'dict[str, Any] | str | os.PathLike[str] | RawConfigParser | IO[Any] | None' = {'version': 1, 'disable_existing_loggers': False, 'formatters': {'default': {'()': 'uvicorn.logging.DefaultFormatter', 'fmt': '%(levelprefix)s %(message)s', 'use_colors': None}, 'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'}}, 'handlers': {'default': {'formatter': 'default', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stderr'}, 'access': {'formatter': 'access', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stdout'}}, 'loggers': {'uvicorn': {'handlers': ['default'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}, 'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}}}, log_level: 'str | int | None' = None, access_log: 'bool' = True, use_colors: 'bool | None' = None, interface: 'InterfaceType' = 'auto', reload: 'bool' = False, reload_dirs: 'list[str] | str | None' = None, reload_delay: 'float' = 0.25, reload_includes: 'list[str] | str | None' = None, reload_excludes: 'list[str] | str | None' = None, workers: 'int | None' = None, proxy_headers: 'bool' = True, server_header: 'bool' = True, date_header: 'bool' = True, forwarded_allow_ips: 'list[str] | str | None' = None, root_path: 'str' = '', limit_concurrency: 'int | None' = None, limit_max_requests: 'int | None' = None, limit_max_requests_jitter: 'int' = 0, backlog: 'int' = 2048, timeout_keep_alive: 'int' = 5, timeout_notify: 'int' = 30, timeout_graceful_shutdown: 'int | None' = None, timeout_worker_healthcheck: 'int' = 5, callback_notify: 'Callable[..., Awaitable[None]] | None' = None, ssl_keyfile: 'str | os.PathLike[str] | None' = None, ssl_certfile: 'str | os.PathLike[str] | None' = None, ssl_keyfile_password: 'str | None' = None, ssl_version: 'int' = <_SSLMethod.PROTOCOL_TLS_SERVER: 17>, ssl_cert_reqs: 'int' = <VerifyMode.CERT_NONE: 0>, ssl_ca_certs: 'str | os.PathLike[str] | None' = None, ssl_ciphers: 'str' = 'TLSv1', ssl_context_factory: 'Callable[[Config, Callable[[], ssl.SSLContext]], ssl.SSLContext] | None' = None, headers: 'list[tuple[str, str]] | None' = None, factory: 'bool' = False, h11_max_incomplete_event_size: 'int | None' = None, reset_contextvars: 'bool' = False)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  bind_socket(self) -> 'socket.socket'
     |
     |  configure_logging(self) -> 'None'
     |
     |  get_loop_factory(self) -> 'Callable[[], asyncio.AbstractEventLoop] | None'
     |
     |  load(self) -> 'None'
     |
     |  load_app(self) -> 'Any'
     |      Import the app and return it. Exits on failure.
     |
     |  setup_event_loop(self) -> 'None'
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  asgi_version
     |
     |  is_ssl
     |
     |  should_reload
     |
     |  use_subprocess
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

FUNCTIONS
    create_ssl_context(certfile: 'str | os.PathLike[str]', keyfile: 'str | os.PathLike[str] | None', password: 'str | None', ssl_version: 'int', cert_reqs: 'int', ca_certs: 'str | os.PathLike[str] | None', ciphers: 'str | None') -> 'ssl.SSLContext'

    is_dir(path: 'Path') -> 'bool'

    resolve_reload_patterns(patterns_list: 'list[str]', directories_list: 'list[str]') -> 'tuple[list[str], list[Path]]'

DATA
    ASGIApplication = type[uvicorn._types.ASGI2Protocol] | collections...a...
    HTTPProtocolType = typing.Literal['auto', 'h11', 'httptools']
    HTTP_PROTOCOLS = {'auto': 'uvicorn.protocols.http.auto:AutoHTTPProtoco...
    INTERFACES = ['auto', 'asgi3', 'asgi2', 'wsgi']
    InterfaceType = typing.Literal['auto', 'asgi3', 'asgi2', 'wsgi']
    LIFESPAN = {'auto': 'uvicorn.lifespan.on:LifespanOn', 'off': 'uvicorn....
    LOGGING_CONFIG = {'disable_existing_loggers': False, 'formatters': {'a...
    LOG_LEVELS = {'critical': 50, 'debug': 10, 'error': 40, 'info': 20, 't...
    LOOP_FACTORIES = {'asyncio': 'uvicorn.loops.asyncio:asyncio_loop_facto...
    LifespanType = typing.Literal['auto', 'on', 'off']
    Literal = typing.Literal
        Special typing form to define literal types (a.k.a. value types).

        This form can be used to indicate to type checkers that the corresponding
        variable or function parameter has a value equivalent to the provided
        literal (or one of several literals)::

            def validate_simple(data: Any) -> Literal[True]:  # always returns True
                ...

            MODE = Literal['r', 'rb', 'w', 'wb']
            def open_helper(file: str, mode: MODE) -> str:
                ...

            open_helper('/some/path', 'r')  # Passes type check
            open_helper('/other/path', 'typo')  # Error in type checker

        Literal[...] cannot be subclassed. At runtime, an arbitrary value
        is allowed as type argument to Literal[...], but type checkers may
        impose restrictions.

    LoopFactoryType = typing.Literal['none', 'auto', 'asyncio', 'uvloop']
    SSL_PROTOCOL_VERSION = <_SSLMethod.PROTOCOL_TLS_SERVER: 17>
    TRACE_LOG_LEVEL = 5
    WSProtocolType = typing.Literal['auto', 'none', 'websockets', 'websock...
    WS_PROTOCOLS = {'auto': 'uvicorn.protocols.websockets.auto:AutoWebSock...
    __annotations__ = {'HTTP_PROTOCOLS': 'dict[str, str]', 'INTERFACES': '...
    logger = <Logger uvicorn.error (WARNING)>

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\uvicorn\config.py

uvicorn.importer
Python Library Documentation: module uvicorn.importer in uvicorn

NAME
    uvicorn.importer

CLASSES
    builtins.Exception(builtins.BaseException)
        ImportFromStringError

    class ImportFromStringError(builtins.Exception)
     |  Method resolution order:
     |      ImportFromStringError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.Exception:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.Exception:
     |
     |  __new__(*args, **kwargs) class method of builtins.Exception
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

FUNCTIONS
    import_from_string(import_str: Any) -> Any

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\uvicorn\importer.py

uvicorn.logging
Python Library Documentation: module uvicorn.logging in uvicorn

NAME
    uvicorn.logging

CLASSES
    logging.Formatter(builtins.object)
        ColourizedFormatter
            AccessFormatter
            DefaultFormatter

    class AccessFormatter(ColourizedFormatter)
     |  AccessFormatter(fmt: 'str | None' = None, datefmt: 'str | None' = None, style: "Literal['%', '{', '$']" = '%', use_colors: 'bool | None' = None)
     |
     |  Method resolution order:
     |      AccessFormatter
     |      ColourizedFormatter
     |      logging.Formatter
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  formatMessage(self, record: 'logging.LogRecord') -> 'str'
     |
     |  get_status_code(self, status_code: 'int') -> 'str'
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  status_code_colours = {1: <function AccessFormatter.<lambda>>, 2: <fun...
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from ColourizedFormatter:
     |
     |  __init__(self, fmt: 'str | None' = None, datefmt: 'str | None' = None, style: "Literal['%', '{', '$']" = '%', use_colors: 'bool | None' = None)
     |      Initialize the formatter with specified format strings.
     |
     |      Initialize the formatter either with the specified format string, or a
     |      default as described above. Allow for specialized date formatting with
     |      the optional datefmt argument. If datefmt is omitted, you get an
     |      ISO8601-like (or RFC 3339-like) format.
     |
     |      Use a style parameter of '%', '{' or '$' to specify that you want to
     |      use one of %-formatting, :meth:`str.format` (``{}``) formatting or
     |      :class:`string.Template` formatting in your format string.
     |
     |      .. versionchanged:: 3.2
     |         Added the ``style`` parameter.
     |
     |  color_level_name(self, level_name: 'str', level_no: 'int') -> 'str'
     |
     |  should_use_colors(self) -> 'bool'
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from ColourizedFormatter:
     |
     |  level_name_colors = {5: <function ColourizedFormatter.<lambda>>, 10: <...
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from logging.Formatter:
     |
     |  format(self, record)
     |      Format the specified record as text.
     |
     |      The record's attribute dictionary is used as the operand to a
     |      string formatting operation which yields the returned string.
     |      Before formatting the dictionary, a couple of preparatory steps
     |      are carried out. The message attribute of the record is computed
     |      using LogRecord.getMessage(). If the formatting string uses the
     |      time (as determined by a call to usesTime(), formatTime() is
     |      called to format the event time. If there is exception information,
     |      it is formatted using formatException() and appended to the message.
     |
     |  formatException(self, ei)
     |      Format and return the specified exception information as a string.
     |
     |      This default implementation just uses
     |      traceback.print_exception()
     |
     |  formatStack(self, stack_info)
     |      This method is provided as an extension point for specialized
     |      formatting of stack information.
     |
     |      The input data is a string as returned from a call to
     |      :func:`traceback.print_stack`, but with the last trailing newline
     |      removed.
     |
     |      The base implementation just returns the value passed in.
     |
     |  formatTime(self, record, datefmt=None)
     |      Return the creation time of the specified LogRecord as formatted text.
     |
     |      This method should be called from format() by a formatter which
     |      wants to make use of a formatted time. This method can be overridden
     |      in formatters to provide for any specific requirement, but the
     |      basic behaviour is as follows: if datefmt (a string) is specified,
     |      it is used with time.strftime() to format the creation time of the
     |      record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used.
     |      The resulting string is returned. This function uses a user-configurable
     |      function to convert the creation time to a tuple. By default,
     |      time.localtime() is used; to change this for a particular formatter
     |      instance, set the 'converter' attribute to a function with the same
     |      signature as time.localtime() or time.gmtime(). To change it for all
     |      formatters, for example if you want all logging times to be shown in GMT,
     |      set the 'converter' attribute in the Formatter class.
     |
     |  usesTime(self)
     |      Check if the format uses the creation time of the record.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from logging.Formatter:
     |
     |  converter = localtime(...)
     |      localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,
     |                                tm_sec,tm_wday,tm_yday,tm_isdst)
     |
     |      Convert seconds since the Epoch to a time tuple expressing local time.
     |      When 'seconds' is not passed in, convert the current time instead.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from logging.Formatter:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from logging.Formatter:
     |
     |  default_msec_format = '%s,%03d'
     |
     |  default_time_format = '%Y-%m-%d %H:%M:%S'

    class ColourizedFormatter(logging.Formatter)
     |  ColourizedFormatter(fmt: 'str | None' = None, datefmt: 'str | None' = None, style: "Literal['%', '{', '$']" = '%', use_colors: 'bool | None' = None)
     |
     |  A custom log formatter class that:
     |
     |  * Outputs the LOG_LEVEL with an appropriate color.
     |  * If a log call includes an `extra={"color_message": ...}` it will be used
     |    for formatting the output, instead of the plain text message.
     |
     |  Method resolution order:
     |      ColourizedFormatter
     |      logging.Formatter
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, fmt: 'str | None' = None, datefmt: 'str | None' = None, style: "Literal['%', '{', '$']" = '%', use_colors: 'bool | None' = None)
     |      Initialize the formatter with specified format strings.
     |
     |      Initialize the formatter either with the specified format string, or a
     |      default as described above. Allow for specialized date formatting with
     |      the optional datefmt argument. If datefmt is omitted, you get an
     |      ISO8601-like (or RFC 3339-like) format.
     |
     |      Use a style parameter of '%', '{' or '$' to specify that you want to
     |      use one of %-formatting, :meth:`str.format` (``{}``) formatting or
     |      :class:`string.Template` formatting in your format string.
     |
     |      .. versionchanged:: 3.2
     |         Added the ``style`` parameter.
     |
     |  color_level_name(self, level_name: 'str', level_no: 'int') -> 'str'
     |
     |  formatMessage(self, record: 'logging.LogRecord') -> 'str'
     |
     |  should_use_colors(self) -> 'bool'
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  level_name_colors = {5: <function ColourizedFormatter.<lambda>>, 10: <...
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from logging.Formatter:
     |
     |  format(self, record)
     |      Format the specified record as text.
     |
     |      The record's attribute dictionary is used as the operand to a
     |      string formatting operation which yields the returned string.
     |      Before formatting the dictionary, a couple of preparatory steps
     |      are carried out. The message attribute of the record is computed
     |      using LogRecord.getMessage(). If the formatting string uses the
     |      time (as determined by a call to usesTime(), formatTime() is
     |      called to format the event time. If there is exception information,
     |      it is formatted using formatException() and appended to the message.
     |
     |  formatException(self, ei)
     |      Format and return the specified exception information as a string.
     |
     |      This default implementation just uses
     |      traceback.print_exception()
     |
     |  formatStack(self, stack_info)
     |      This method is provided as an extension point for specialized
     |      formatting of stack information.
     |
     |      The input data is a string as returned from a call to
     |      :func:`traceback.print_stack`, but with the last trailing newline
     |      removed.
     |
     |      The base implementation just returns the value passed in.
     |
     |  formatTime(self, record, datefmt=None)
     |      Return the creation time of the specified LogRecord as formatted text.
     |
     |      This method should be called from format() by a formatter which
     |      wants to make use of a formatted time. This method can be overridden
     |      in formatters to provide for any specific requirement, but the
     |      basic behaviour is as follows: if datefmt (a string) is specified,
     |      it is used with time.strftime() to format the creation time of the
     |      record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used.
     |      The resulting string is returned. This function uses a user-configurable
     |      function to convert the creation time to a tuple. By default,
     |      time.localtime() is used; to change this for a particular formatter
     |      instance, set the 'converter' attribute to a function with the same
     |      signature as time.localtime() or time.gmtime(). To change it for all
     |      formatters, for example if you want all logging times to be shown in GMT,
     |      set the 'converter' attribute in the Formatter class.
     |
     |  usesTime(self)
     |      Check if the format uses the creation time of the record.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from logging.Formatter:
     |
     |  converter = localtime(...)
     |      localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,
     |                                tm_sec,tm_wday,tm_yday,tm_isdst)
     |
     |      Convert seconds since the Epoch to a time tuple expressing local time.
     |      When 'seconds' is not passed in, convert the current time instead.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from logging.Formatter:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from logging.Formatter:
     |
     |  default_msec_format = '%s,%03d'
     |
     |  default_time_format = '%Y-%m-%d %H:%M:%S'

    class DefaultFormatter(ColourizedFormatter)
     |  DefaultFormatter(fmt: 'str | None' = None, datefmt: 'str | None' = None, style: "Literal['%', '{', '$']" = '%', use_colors: 'bool | None' = None)
     |
     |  Method resolution order:
     |      DefaultFormatter
     |      ColourizedFormatter
     |      logging.Formatter
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  should_use_colors(self) -> 'bool'
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from ColourizedFormatter:
     |
     |  __init__(self, fmt: 'str | None' = None, datefmt: 'str | None' = None, style: "Literal['%', '{', '$']" = '%', use_colors: 'bool | None' = None)
     |      Initialize the formatter with specified format strings.
     |
     |      Initialize the formatter either with the specified format string, or a
     |      default as described above. Allow for specialized date formatting with
     |      the optional datefmt argument. If datefmt is omitted, you get an
     |      ISO8601-like (or RFC 3339-like) format.
     |
     |      Use a style parameter of '%', '{' or '$' to specify that you want to
     |      use one of %-formatting, :meth:`str.format` (``{}``) formatting or
     |      :class:`string.Template` formatting in your format string.
     |
     |      .. versionchanged:: 3.2
     |         Added the ``style`` parameter.
     |
     |  color_level_name(self, level_name: 'str', level_no: 'int') -> 'str'
     |
     |  formatMessage(self, record: 'logging.LogRecord') -> 'str'
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from ColourizedFormatter:
     |
     |  level_name_colors = {5: <function ColourizedFormatter.<lambda>>, 10: <...
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from logging.Formatter:
     |
     |  format(self, record)
     |      Format the specified record as text.
     |
     |      The record's attribute dictionary is used as the operand to a
     |      string formatting operation which yields the returned string.
     |      Before formatting the dictionary, a couple of preparatory steps
     |      are carried out. The message attribute of the record is computed
     |      using LogRecord.getMessage(). If the formatting string uses the
     |      time (as determined by a call to usesTime(), formatTime() is
     |      called to format the event time. If there is exception information,
     |      it is formatted using formatException() and appended to the message.
     |
     |  formatException(self, ei)
     |      Format and return the specified exception information as a string.
     |
     |      This default implementation just uses
     |      traceback.print_exception()
     |
     |  formatStack(self, stack_info)
     |      This method is provided as an extension point for specialized
     |      formatting of stack information.
     |
     |      The input data is a string as returned from a call to
     |      :func:`traceback.print_stack`, but with the last trailing newline
     |      removed.
     |
     |      The base implementation just returns the value passed in.
     |
     |  formatTime(self, record, datefmt=None)
     |      Return the creation time of the specified LogRecord as formatted text.
     |
     |      This method should be called from format() by a formatter which
     |      wants to make use of a formatted time. This method can be overridden
     |      in formatters to provide for any specific requirement, but the
     |      basic behaviour is as follows: if datefmt (a string) is specified,
     |      it is used with time.strftime() to format the creation time of the
     |      record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used.
     |      The resulting string is returned. This function uses a user-configurable
     |      function to convert the creation time to a tuple. By default,
     |      time.localtime() is used; to change this for a particular formatter
     |      instance, set the 'converter' attribute to a function with the same
     |      signature as time.localtime() or time.gmtime(). To change it for all
     |      formatters, for example if you want all logging times to be shown in GMT,
     |      set the 'converter' attribute in the Formatter class.
     |
     |  usesTime(self)
     |      Check if the format uses the creation time of the record.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from logging.Formatter:
     |
     |  converter = localtime(...)
     |      localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,
     |                                tm_sec,tm_wday,tm_yday,tm_isdst)
     |
     |      Convert seconds since the Epoch to a time tuple expressing local time.
     |      When 'seconds' is not passed in, convert the current time instead.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from logging.Formatter:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from logging.Formatter:
     |
     |  default_msec_format = '%s,%03d'
     |
     |  default_time_format = '%Y-%m-%d %H:%M:%S'

DATA
    Literal = typing.Literal
        Special typing form to define literal types (a.k.a. value types).

        This form can be used to indicate to type checkers that the corresponding
        variable or function parameter has a value equivalent to the provided
        literal (or one of several literals)::

            def validate_simple(data: Any) -> Literal[True]:  # always returns True
                ...

            MODE = Literal['r', 'rb', 'w', 'wb']
            def open_helper(file: str, mode: MODE) -> str:
                ...

            open_helper('/some/path', 'r')  # Passes type check
            open_helper('/other/path', 'typo')  # Error in type checker

        Literal[...] cannot be subclassed. At runtime, an arbitrary value
        is allowed as type argument to Literal[...], but type checkers may
        impose restrictions.

    TRACE_LOG_LEVEL = 5

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\uvicorn\logging.py

uvicorn.main
Python Library Documentation: Command in module click.core object

class Command(builtins.object)
 |  Command(name: 'str | None', context_settings: 'cabc.MutableMapping[str, t.Any] | None' = None, callback: 't.Callable[..., t.Any] | None' = None, params: 'list[Parameter] | None' = None, help: 'str | None' = None, epilog: 'str | None' = None, short_help: 'str | None' = None, options_metavar: 'str | None' = '[OPTIONS]', add_help_option: 'bool' = True, no_args_is_help: 'bool' = False, hidden: 'bool' = False, deprecated: 'bool | str' = False) -> 'None'
 |
 |  Commands are the basic building block of command line interfaces in
 |  Click.  A basic command handles command line parsing and might dispatch
 |  more parsing to commands nested below it.
 |
 |  :param name: the name of the command to use unless a group overrides it.
 |  :param context_settings: an optional dictionary with defaults that are
 |                           passed to the context object.
 |  :param callback: the callback to invoke.  This is optional.
 |  :param params: the parameters to register with this command.  This can
 |                 be either :class:`Option` or :class:`Argument` objects.
 |  :param help: the help string to use for this command.
 |  :param epilog: like the help string but it's printed at the end of the
 |                 help page after everything else.
 |  :param short_help: the short help to use for this command.  This is
 |                     shown on the command listing of the parent command.
 |  :param add_help_option: by default each command registers a ``--help``
 |                          option.  This can be disabled by this parameter.
 |  :param no_args_is_help: this controls what happens if no arguments are
 |                          provided.  This option is disabled by default.
 |                          If enabled this will add ``--help`` as argument
 |                          if no arguments are passed
 |  :param hidden: hide this command from help outputs.
 |  :param deprecated: If ``True`` or non-empty string, issues a message
 |                      indicating that the command is deprecated and highlights
 |                      its deprecation in --help. The message can be customized
 |                      by using a string as the value.
 |
 |  .. versionchanged:: 8.2
 |      This is the base class for all commands, not ``BaseCommand``.
 |      ``deprecated`` can be set to a string as well to customize the
 |      deprecation message.
 |
 |  .. versionchanged:: 8.1
 |      ``help``, ``epilog``, and ``short_help`` are stored unprocessed,
 |      all formatting is done when outputting help text, not at init,
 |      and is done even if not using the ``@command`` decorator.
 |
 |  .. versionchanged:: 8.0
 |      Added a ``repr`` showing the command name.
 |
 |  .. versionchanged:: 7.1
 |      Added the ``no_args_is_help`` parameter.
 |
 |  .. versionchanged:: 2.0
 |      Added the ``context_settings`` parameter.
 |
 |  Methods defined here:
 |
 |  __call__(self, *args: 't.Any', **kwargs: 't.Any') -> 't.Any'
 |      Alias for :meth:`main`.
 |
 |  __init__(self, name: 'str | None', context_settings: 'cabc.MutableMapping[str, t.Any] | None' = None, callback: 't.Callable[..., t.Any] | None' = None, params: 'list[Parameter] | None' = None, help: 'str | None' = None, epilog: 'str | None' = None, short_help: 'str | None' = None, options_metavar: 'str | None' = '[OPTIONS]', add_help_option: 'bool' = True, no_args_is_help: 'bool' = False, hidden: 'bool' = False, deprecated: 'bool | str' = False) -> 'None'
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  __repr__(self) -> 'str'
 |      Return repr(self).
 |
 |  collect_usage_pieces(self, ctx: 'Context') -> 'list[str]'
 |      Returns all the pieces that go into the usage line and returns
 |      it as a list of strings.
 |
 |  format_epilog(self, ctx: 'Context', formatter: 'HelpFormatter') -> 'None'
 |      Writes the epilog into the formatter if it exists.
 |
 |  format_help(self, ctx: 'Context', formatter: 'HelpFormatter') -> 'None'
 |      Writes the help into the formatter if it exists.
 |
 |      This is a low-level method called by :meth:`get_help`.
 |
 |      This calls the following methods:
 |
 |      -   :meth:`format_usage`
 |      -   :meth:`format_help_text`
 |      -   :meth:`format_options`
 |      -   :meth:`format_epilog`
 |
 |  format_help_text(self, ctx: 'Context', formatter: 'HelpFormatter') -> 'None'
 |      Writes the help text to the formatter if it exists.
 |
 |  format_options(self, ctx: 'Context', formatter: 'HelpFormatter') -> 'None'
 |      Writes all the options into the formatter if they exist.
 |
 |  format_usage(self, ctx: 'Context', formatter: 'HelpFormatter') -> 'None'
 |      Writes the usage line into the formatter.
 |
 |      This is a low-level method called by :meth:`get_usage`.
 |
 |  get_help(self, ctx: 'Context') -> 'str'
 |      Formats the help into a string and returns it.
 |
 |      Calls :meth:`format_help` internally.
 |
 |  get_help_option(self, ctx: 'Context') -> 'Option | None'
 |      Returns the help option object.
 |
 |      Skipped if :attr:`add_help_option` is ``False``.
 |
 |      .. versionchanged:: 8.1.8
 |          The help option is now cached to avoid creating it multiple times.
 |
 |  get_help_option_names(self, ctx: 'Context') -> 'list[str]'
 |      Returns the names for the help option.
 |
 |  get_params(self, ctx: 'Context') -> 'list[Parameter]'
 |
 |  get_short_help_str(self, limit: 'int' = 45) -> 'str'
 |      Gets short help for the command or makes it by shortening the
 |      long help string.
 |
 |  get_usage(self, ctx: 'Context') -> 'str'
 |      Formats the usage line into a string and returns it.
 |
 |      Calls :meth:`format_usage` internally.
 |
 |  invoke(self, ctx: 'Context') -> 't.Any'
 |      Given a context, this invokes the attached callback (if it exists)
 |      in the right way.
 |
 |  main(self, args: 'cabc.Sequence[str] | None' = None, prog_name: 'str | None' = None, complete_var: 'str | None' = None, standalone_mode: 'bool' = True, windows_expand_args: 'bool' = True, **extra: 't.Any') -> 't.Any'
 |      This is the way to invoke a script with all the bells and
 |      whistles as a command line application.  This will always terminate
 |      the application after a call.  If this is not wanted, ``SystemExit``
 |      needs to be caught.
 |
 |      This method is also available by directly calling the instance of
 |      a :class:`Command`.
 |
 |      :param args: the arguments that should be used for parsing.  If not
 |                   provided, ``sys.argv[1:]`` is used.
 |      :param prog_name: the program name that should be used.  By default
 |                        the program name is constructed by taking the file
 |                        name from ``sys.argv[0]``.
 |      :param complete_var: the environment variable that controls the
 |                           bash completion support.  The default is
 |                           ``"_<prog_name>_COMPLETE"`` with prog_name in
 |                           uppercase.
 |      :param standalone_mode: the default behavior is to invoke the script
 |                              in standalone mode.  Click will then
 |                              handle exceptions and convert them into
 |                              error messages and the function will never
 |                              return but shut down the interpreter.  If
 |                              this is set to `False` they will be
 |                              propagated to the caller and the return
 |                              value of this function is the return value
 |                              of :meth:`invoke`.
 |      :param windows_expand_args: Expand glob patterns, user dir, and
 |          env vars in command line args on Windows.
 |      :param extra: extra keyword arguments are forwarded to the context
 |                    constructor.  See :class:`Context` for more information.
 |
 |      .. versionchanged:: 8.0.1
 |          Added the ``windows_expand_args`` parameter to allow
 |          disabling command line arg expansion on Windows.
 |
 |      .. versionchanged:: 8.0
 |          When taking arguments from ``sys.argv`` on Windows, glob
 |          patterns, user dir, and env vars are expanded.
 |
 |      .. versionchanged:: 3.0
 |         Added the ``standalone_mode`` parameter.
 |
 |  make_context(self, info_name: 'str | None', args: 'list[str]', parent: 'Context | None' = None, **extra: 't.Any') -> 'Context'
 |      This function when given an info name and arguments will kick
 |      off the parsing and create a new :class:`Context`.  It does not
 |      invoke the actual command callback though.
 |
 |      To quickly customize the context class used without overriding
 |      this method, set the :attr:`context_class` attribute.
 |
 |      :param info_name: the info name for this invocation.  Generally this
 |                        is the most descriptive name for the script or
 |                        command.  For the toplevel script it's usually
 |                        the name of the script, for commands below it's
 |                        the name of the command.
 |      :param args: the arguments to parse as list of strings.
 |      :param parent: the parent context if available.
 |      :param extra: extra keyword arguments forwarded to the context
 |                    constructor.
 |
 |      .. versionchanged:: 8.0
 |          Added the :attr:`context_class` attribute.
 |
 |  make_parser(self, ctx: 'Context') -> '_OptionParser'
 |      Creates the underlying option parser for this command.
 |
 |  parse_args(self, ctx: 'Context', args: 'list[str]') -> 'list[str]'
 |
 |  shell_complete(self, ctx: 'Context', incomplete: 'str') -> 'list[CompletionItem]'
 |      Return a list of completions for the incomplete value. Looks
 |      at the names of options and chained multi-commands.
 |
 |      Any command could be part of a chained multi-command, so sibling
 |      commands are valid at any point during command completion.
 |
 |      :param ctx: Invocation context for this command.
 |      :param incomplete: Value being completed. May be empty.
 |
 |      .. versionadded:: 8.0
 |
 |  to_info_dict(self, ctx: 'Context') -> 'dict[str, t.Any]'
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  __annotations__ = {'_help_option': 'Option | None', 'add_help_option':...
 |
 |  allow_extra_args = False
 |
 |  allow_interspersed_args = True
 |
 |  context_class = <class 'click.core.Context'>
 |      The context is a special internal object that holds state relevant
 |      for the script execution at every single level.  It's normally invisible
 |      to commands unless they opt-in to getting access to it.
 |
 |      The context is useful as it can pass internal objects around and can
 |      control special execution features such as reading data from
 |      environment variables.
 |
 |      A context can be used as context manager in which case it will call
 |      :meth:`close` on teardown.
 |
 |      :param command: the command class for this context.
 |      :param parent: the parent context.
 |      :param info_name: the info name for this invocation.  Generally this
 |                        is the most descriptive name for the script or
 |                        command.  For the toplevel script it is usually
 |                        the name of the script, for commands below that it's
 |                        the name of the script.
 |      :param obj: an arbitrary object of user data.
 |      :param auto_envvar_prefix: the prefix to use for automatic environment
 |                                 variables.  If this is `None` then reading
 |                                 from environment variables is disabled.  This
 |                                 does not affect manually set environment
 |                                 variables which are always read.
 |      :param default_map: a dictionary (like object) with default values
 |                          for parameters.
 |      :param terminal_width: the width of the terminal.  The default is
 |                             inherit from parent context.  If no context
 |                             defines the terminal width then auto
 |                             detection will be applied.
 |      :param max_content_width: the maximum width for content rendered by
 |                                Click (this currently only affects help
 |                                pages).  This defaults to 80 characters if
 |                                not overridden.  In other words: even if the
 |                                terminal is larger than that, Click will not
 |                                format things wider than 80 characters by
 |                                default.  In addition to that, formatters might
 |                                add some safety mapping on the right.
 |      :param resilient_parsing: if this flag is enabled then Click will
 |                                parse without any interactivity or callback
 |                                invocation.  Default values will also be
 |                                ignored.  This is useful for implementing
 |                                things such as completion support.
 |      :param allow_extra_args: if this is set to `True` then extra arguments
 |                               at the end will not raise an error and will be
 |                               kept on the context.  The default is to inherit
 |                               from the command.
 |      :param allow_interspersed_args: if this is set to `False` then options
 |                                      and arguments cannot be mixed.  The
 |                                      default is to inherit from the command.
 |      :param ignore_unknown_options: instructs click to ignore options it does
 |                                     not know and keeps them for later
 |                                     processing.
 |      :param help_option_names: optionally a list of strings that define how
 |                                the default help parameter is named.  The
 |                                default is ``['--help']``.
 |      :param token_normalize_func: an optional function that is used to
 |                                   normalize tokens (options, choices,
 |                                   etc.).  This for instance can be used to
 |                                   implement case insensitive behavior.
 |      :param color: controls if the terminal supports ANSI colors or not.  The
 |                    default is autodetection.  This is only needed if ANSI
 |                    codes are used in texts that Click prints which is by
 |                    default not the case.  This for instance would affect
 |                    help output.
 |      :param show_default: Show the default value for commands. If this
 |          value is not set, it defaults to the value from the parent
 |          context. ``Command.show_default`` overrides this default for the
 |          specific command.
 |
 |      .. versionchanged:: 8.2
 |          The ``protected_args`` attribute is deprecated and will be removed in
 |          Click 9.0. ``args`` will contain remaining unparsed tokens.
 |
 |      .. versionchanged:: 8.1
 |          The ``show_default`` parameter is overridden by
 |          ``Command.show_default``, instead of the other way around.
 |
 |      .. versionchanged:: 8.0
 |          The ``show_default`` parameter defaults to the value from the
 |          parent context.
 |
 |      .. versionchanged:: 7.1
 |         Added the ``show_default`` parameter.
 |
 |      .. versionchanged:: 4.0
 |          Added the ``color``, ``ignore_unknown_options``, and
 |          ``max_content_width`` parameters.
 |
 |      .. versionchanged:: 3.0
 |          Added the ``allow_extra_args`` and ``allow_interspersed_args``
 |          parameters.
 |
 |      .. versionchanged:: 2.0
 |          Added the ``resilient_parsing``, ``help_option_names``, and
 |          ``token_normalize_func`` parameters.
 |
 |
 |  ignore_unknown_options = False
uvicorn.middleware
Python Library Documentation: package uvicorn.middleware in uvicorn

NAME
    uvicorn.middleware

PACKAGE CONTENTS
    asgi2
    message_logger
    proxy_headers
    wsgi

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\uvicorn\middleware\__init__.py

uvicorn.run
Python Library Documentation: function run in module uvicorn.main

run(app: 'ASGIApplication | Callable[..., Any] | str', *, host: 'str' = '127.0.0.1', port: 'int' = 8000, uds: 'str | None' = None, fd: 'int | None' = None, loop: 'LoopFactoryType | str' = 'auto', http: 'type[asyncio.Protocol] | HTTPProtocolType | str' = 'auto', ws: 'type[asyncio.Protocol] | WSProtocolType | str' = 'auto', ws_max_size: 'int' = 16777216, ws_max_queue: 'int' = 32, ws_ping_interval: 'float | None' = 20.0, ws_ping_timeout: 'float | None' = 20.0, ws_per_message_deflate: 'bool' = True, lifespan: 'LifespanType' = 'auto', interface: 'InterfaceType' = 'auto', reload: 'bool' = False, reload_dirs: 'list[str] | str | None' = None, reload_includes: 'list[str] | str | None' = None, reload_excludes: 'list[str] | str | None' = None, reload_delay: 'float' = 0.25, workers: 'int | None' = None, env_file: 'str | os.PathLike[str] | None' = None, log_config: 'dict[str, Any] | str | os.PathLike[str] | RawConfigParser | IO[Any] | None' = {'version': 1, 'disable_existing_loggers': False, 'formatters': {'default': {'()': 'uvicorn.logging.DefaultFormatter', 'fmt': '%(levelprefix)s %(message)s', 'use_colors': None}, 'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'}}, 'handlers': {'default': {'formatter': 'default', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stderr'}, 'access': {'formatter': 'access', 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stdout'}}, 'loggers': {'uvicorn': {'handlers': ['default'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}, 'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}}}, log_level: 'str | int | None' = None, access_log: 'bool' = True, proxy_headers: 'bool' = True, server_header: 'bool' = True, date_header: 'bool' = True, forwarded_allow_ips: 'list[str] | str | None' = None, root_path: 'str' = '', limit_concurrency: 'int | None' = None, backlog: 'int' = 2048, limit_max_requests: 'int | None' = None, limit_max_requests_jitter: 'int' = 0, timeout_keep_alive: 'int' = 5, timeout_graceful_shutdown: 'int | None' = None, timeout_worker_healthcheck: 'int' = 5, ssl_keyfile: 'str | os.PathLike[str] | None' = None, ssl_certfile: 'str | os.PathLike[str] | None' = None, ssl_keyfile_password: 'str | None' = None, ssl_version: 'int' = <_SSLMethod.PROTOCOL_TLS_SERVER: 17>, ssl_cert_reqs: 'int' = <VerifyMode.CERT_NONE: 0>, ssl_ca_certs: 'str | os.PathLike[str] | None' = None, ssl_ciphers: 'str' = 'TLSv1', ssl_context_factory: 'Callable[[Config, Callable[[], ssl.SSLContext]], ssl.SSLContext] | None' = None, headers: 'list[tuple[str, str]] | None' = None, use_colors: 'bool | None' = None, app_dir: 'str | None' = None, factory: 'bool' = False, h11_max_incomplete_event_size: 'int | None' = None, reset_contextvars: 'bool' = False) -> 'None'
uvicorn.server
Python Library Documentation: module uvicorn.server in uvicorn

NAME
    uvicorn.server

CLASSES
    builtins.object
        Server
        ServerState

    class Server(builtins.object)
     |  Server(config: 'Config') -> 'None'
     |
     |  Methods defined here:
     |
     |  __init__(self, config: 'Config') -> 'None'
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  capture_signals(self) -> 'Generator[None, None, None]'
     |
     |  handle_exit(self, sig: 'int', frame: 'FrameType | None') -> 'None'
     |
     |  limit_max_requests = <functools.cached_property object>
     |  async main_loop(self) -> 'None'
     |
     |  async on_tick(self, counter: 'int') -> 'bool'
     |
     |  run(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
     |
     |  async serve(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
     |
     |  async shutdown(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
     |
     |  async startup(self, sockets: 'list[socket.socket] | None' = None) -> 'None'
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class ServerState(builtins.object)
     |  ServerState() -> 'None'
     |
     |  Shared servers state that is available between all protocol instances.
     |
     |  Methods defined here:
     |
     |  __init__(self) -> 'None'
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

DATA
    HANDLED_SIGNALS = (<Signals.SIGINT: 2>, <Signals.SIGTERM: 15>, <Signal...
    TYPE_CHECKING = False
    TypeAlias = typing.TypeAlias
        Special form for marking type aliases.

        Use TypeAlias to indicate that an assignment should
        be recognized as a proper type alias definition by type
        checkers.

        For example::

            Predicate: TypeAlias = Callable[..., bool]

        It's invalid when used anywhere except as in the example above.

    __annotations__ = {}
    logger = <Logger uvicorn.error (WARNING)>

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\uvicorn\server.py

uvicorn.supervisors
Python Library Documentation: package uvicorn.supervisors in uvicorn

NAME
    uvicorn.supervisors

PACKAGE CONTENTS
    basereload
    multiprocess
    statreload
    watchfilesreload

CLASSES
    builtins.object
        uvicorn.supervisors.multiprocess.Multiprocess
    uvicorn.supervisors.basereload.BaseReload(builtins.object)
        uvicorn.supervisors.statreload.StatReload

    ChangeReload = class StatReload(uvicorn.supervisors.basereload.BaseReload)
     |  ChangeReload(config: 'Config', target: 'Callable[[list[socket] | None], None]', sockets: 'list[socket]') -> 'None'
     |
     |  Method resolution order:
     |      StatReload
     |      uvicorn.supervisors.basereload.BaseReload
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, config: 'Config', target: 'Callable[[list[socket] | None], None]', sockets: 'list[socket]') -> 'None'
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  iter_py_files(self) -> 'Iterator[Path]'
     |
     |  restart(self) -> 'None'
     |
     |  should_restart(self) -> 'list[Path] | None'
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from uvicorn.supervisors.basereload.BaseReload:
     |
     |  __iter__(self) -> 'Iterator[list[Path] | None]'
     |
     |  __next__(self) -> 'list[Path] | None'
     |
     |  pause(self) -> 'None'
     |
     |  run(self) -> 'None'
     |
     |  shutdown(self) -> 'None'
     |
     |  signal_handler(self, sig: 'int', frame: 'FrameType | None') -> 'None'
     |      A signal handler that is registered with the parent process.
     |
     |  startup(self) -> 'None'
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from uvicorn.supervisors.basereload.BaseReload:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Multiprocess(builtins.object)
     |  Multiprocess(config: 'Config', target: 'Callable[[list[socket] | None], None]', sockets: 'list[socket]') -> 'None'
     |
     |  Methods defined here:
     |
     |  __init__(self, config: 'Config', target: 'Callable[[list[socket] | None], None]', sockets: 'list[socket]') -> 'None'
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  handle_break(self) -> 'None'
     |
     |  handle_hup(self) -> 'None'
     |
     |  handle_int(self) -> 'None'
     |
     |  handle_signals(self) -> 'None'
     |
     |  handle_term(self) -> 'None'
     |
     |  handle_ttin(self) -> 'None'
     |
     |  handle_ttou(self) -> 'None'
     |
     |  init_processes(self) -> 'None'
     |
     |  join_all(self) -> 'None'
     |
     |  keep_subprocess_alive(self) -> 'None'
     |
     |  restart_all(self) -> 'None'
     |
     |  run(self) -> 'None'
     |
     |  terminate_all(self) -> 'None'
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

DATA
    __all__ = ['Multiprocess', 'ChangeReload']
    __annotations__ = {}

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\uvicorn\supervisors\__init__.py