Scroll to navigation

UVICORN(1) General Commands Manual 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.