RUNNING(1)
πΈ RUNNING(1) β the Running page, bestie edition πΈ
okay so. this is the manual for Running β an ASGI server implementation, using uvloop and httptools. it lives in section 1 of the manual (User Commands, iykyk) and honestly? she's iconic. let's get into it. π
β¨ NAME β¨
Running β ASGI server implementation, using uvloop and httptools. that's the whole vibe. that's her. π¦
β¨ SYNOPSIS β¨
uvicorn [OPTIONS] APP
like. that's it. that's the whole spell. options go in, APP goes last, server goes brrr. β¨
β¨ OPTIONS β¨
okay bestie, here's the full menu. every single one. no skips, no skimming, we're doing this properly. π
π where do we even listen
--host TEXTβ bind the socket to this host. [default:127.0.0.1]--port INTEGERβ bind the socket to this port. if it's0, an available port gets picked for you, cute. [default:8000]--uds TEXTβ bind to a UNIX domain socket instead.--fd INTEGERβ bind to the socket from this file descriptor. fancy.
π auto-reload era (the "omg I saved the file" section)
--reloadβ enable auto-reload. the file-watcher fantasy. π₯--reload-dir PATHβ set the reload directories explicitly instead of just using the current working directory.--reload-include TEXTβ set glob patterns to include while watching for files. includes*.pyby default; these defaults can be overridden with--reload-exclude. heads up: this option has no effect unlesswatchfilesis installed.--reload-exclude TEXTβ set glob patterns to exclude while watching for files. includes.*, .py[cod], .sw.*, ~*by default; these defaults can be overridden with--reload-include. also: this option has no effect unlesswatchfilesis installed.--reload-delay FLOATβ delay between the previous and next check if the application needs to be reloaded. defaults to0.25s. [default:0.25]
π― workers & concurrency
--workers INTEGERβ number of worker processes. defaults to the$WEB_CONCURRENCYenvironment variable if it's available, or1. not valid with--reload, so pick a lane bestie.--limit-concurrency INTEGERβ maximum number of concurrent connections or tasks to allow before issuing HTTP503responses. (yes, the sad little 503. π₯²)--backlog INTEGERβ maximum number of connections to hold in the backlog.--limit-max-requests INTEGERβ maximum number of requests to service before terminating the process.
π§ the implementations (aka choose your fighter)
--loop [auto|asyncio|uvloop]β event loop factory implementation. [default:auto]--http [auto|h11|httptools]β HTTP protocol implementation. [default:auto]--ws [auto|websockets|websockets-sansio|wsproto]β WebSocket protocol implementation. [default:auto]--lifespan [auto|on|off]β lifespan implementation. [default:auto]--interface [auto|asgi3|asgi2|wsgi]β selectASGI3,ASGI2, orWSGIas the application interface. [default:auto]
πΈοΈ websocket girlies, this one's for you
--ws-max-size INTEGERβ WebSocket max size message in bytes. [default:16777216]--ws-max-queue INTEGERβ the maximum length of the WebSocket message queue. [default:32]--ws-ping-interval FLOATβ WebSocket ping interval in seconds. [default:20.0]--ws-ping-timeout FLOATβ WebSocket ping timeout in seconds. [default:20.0]--ws-per-message-deflate BOOLEANβ WebSocket per-message-deflate compression. [default:True]
β±οΈ timeouts & graceful exits
--timeout-keep-alive INTEGERβ close Keep-Alive connections if no new data is received within this timeout (in seconds). [default:5]--timeout-graceful-shutdown INTEGERβ maximum number of seconds to wait for graceful shutdown.--timeout-worker-healthcheck INTEGERβ maximum number of seconds to wait for a worker to respond to a healthcheck. [default:5]
π files, config & logs
--env-file PATHβ environment configuration file.--log-config PATHβ logging configuration file. supported formats:.ini,.json,.yaml.--log-level [critical|error|warning|info|debug|trace]β log level. [default:info]--app-dir TEXTβ look forAPPin the specified directory, by adding this to thePYTHONPATH. defaults to the current working directory. [default:""]
π on/off toggles (both directions, always)
--access-log/--no-access-logβ enable/disable the access log.--use-colors/--no-use-colorsβ enable/disable colorized logging. (say yes. color is the moment. π)--proxy-headers/--no-proxy-headersβ enable/disableX-Forwarded-Proto,X-Forwarded-Forto populate url scheme and remote address info.--server-header/--no-server-headerβ enable/disable the defaultServerheader.--date-header/--no-date-headerβ enable/disable the defaultDateheader.
π«Ά trusting proxies & mounting paths
--forwarded-allow-ips TEXTβ comma separated list of IP Addresses, IP Networks, or literals (e.g. UNIX Socket path) to trust with proxy headers. defaults to the$FORWARDED_ALLOW_IPSenvironment variable if available, or'127.0.0.1'. the literal'*'means trust everything. everything. be careful with that one bestie.--root-path TEXTβ set the ASGI'root_path'for applications submounted below a given URL path.
π SSL / TLS section (the locked-down, mysterious era)
--ssl-keyfile TEXTβ SSL key file--ssl-certfile TEXTβ SSL certificate file--ssl-keyfile-password TEXTβ SSL keyfile password--ssl-version INTEGERβ SSL version to use (see stdlibsslmodule's) [default:17]--ssl-cert-reqs INTEGERβ whether client certificate is required (see stdlibsslmodule's) [default:0]--ssl-ca-certs TEXTβ CA certificates file--ssl-ciphers TEXTβ ciphers to use (see stdlibsslmodule's) [default:TLSv1]
β¨ custom stuff & housekeeping
--header TEXTβ specify custom default HTTP response headers as aName:Valuepair--h11-max-incomplete-event-size INTEGERβ forh11, the maximum number of bytes to buffer of an incomplete event.--factoryβ treatAPPas an application factory, i.e. a() -> <ASGI app>callable.--versionβ display theuvicornversion and exit. (screenshot it. post it. π«Ά)--helpβ show this message and exit.
β¨ SEE ALSO β¨
the full documentation for Running is maintained as a Texinfo manual. if the info and Running programs are properly installed at your site, this command
info Running
should give you access to the complete manual. go read her, she's thorough. π
and that's the whole page bestie!! slay, you read all of it, I'm so proud π
okay so for the little sign-off β this whole thing is Running uvicorn 0.38.0 with C..., dated December 2025, and it's the RUNNING(1) page. no cap. πβ¨π¦
π¦ where this page comes from
- ubuntu resolute: uvicorn 0.38.0-1 Β· BSD-3-Clause
- ubuntu stonking: uvicorn 0.38.0-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms