UVICORN(1)

NAME
uvicorn — ASGI server implementation

SYNOPSIS

uvicorn [--host HOST] [--port PORT] [--uds UNIX_SOCKET] [--fd FILE_DESCRIPTOR] [--log-level LOG_LEVEL] [--no-access-log] [--debug] [--loop LOOP] [--http HTTP_IMPLEMENTATION] [--ws WEBSOCKET_IMPLEMENTATION] [--wsgi] [--ping-interval PING_INTERVAL] [--root-path PATH] [--proxy-headers] [--limit-concurrency CONNECTIONS] [--limit-max-requests REQUESTS] [--timeout-keep-alive SECONDS] [APP]

DESCRIPTION

This manual page documents briefly the uvicorn command.

This manual page was written for the Debian distribution because the original program does not have a manual page.

uvicorn is a program that provides an ASGI server implementation.

OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.

--host HOST
    Bind socket to this host. Use --host 0.0.0.0 to make the application available on your local network. Default: '127.0.0.1'.

--port PORT
    Bind to a socket with this port. Default: 8000.

--uds UNIX_SOCKET
    Bind to a UNIX domain socket. Useful if you want to run Uvicorn behind a reverse proxy.

--fd FILE_DESCRIPTOR
    Bind to socket from this file descriptor. Useful if you want to run Uvicorn within a process manager.

--debug
    Enable debug mode. Provides error tracebacks in the browser, and enables auto-reloading.

--log-level LOG_LEVEL
    Set the log level. Options: 'critical', 'error', 'warning', 'info', 'debug'. Default: 'info'.

--no-access-log
    Disable access log only, without changing log level.

--loop LOOP
    Set the event loop implementation. The uvloop implementation provides greater performance, but is not compatible with Windows or PyPy. Options: 'auto', 'asyncio', 'uvloop'. Default: 'auto'.

--http HTTP_IMPLEMENTATION
    Set the HTTP protocol implementation. The httptools implementation provides greater performance, but it not compatible with PyPy, and requires compilation on Windows. Options: 'auto', 'h11', 'httptools'. Default: 'auto'.

--ws WEBSOCKET_IMPLEMENTATION
    Set the WebSockets protocol implementation. Either of the websockets and wsproto packages are supported. Use 'none' to deny all websocket requests. Options: 'auto', 'none', 'websockets', 'wsproto'. Default: 'auto'.

--wsgi
    Use WSGI as the application interface rather than ASGI. Note that WSGI mode always disables WebSocket support, as it is not supported by the WSGI interface.

--root-path PATH
    Set the ASGI root_path for applications submounted below a given URL path.

--proxy-headers
    Use the X-Forwarded-Proto and X-Forwarded-For headers to populate remote scheme/address info.

--limit-concurrency CONNECTIONS
    Maximum number of concurrent connections or tasks to allow, before issuing HTTP 503 responses. Useful for ensuring known memory usage patterns even under over-resourced loads.

--limit-max-requests REQUESTS
    Maximum number of requests to service before terminating the process. Useful when running together with a process manager, for preventing memory leaks from impacting long-running processes.

--timeout-keep-alive SECONDS
    Close Keep-Alive connections if no new data is received within this timeout. Default: 5.

ARGUMENTS

APP The ASGI application to run, in the format "module:attribute".

AUTHOR

This manual page was written by fladi fladi@debian.org for the Debian system (and may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.