---
name: "hypercorn"
section: "1"
platform: "linux"
package: "python3-hypercorn"
version: "0.17.3-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/hypercorn"
---

# hypercorn(1)

ASGI Server based on Hyper libraries and inspired by Gunicorn

## NAME

usage: - ASGI Server based on Hyper libraries and inspired by Gunicorn

## DESCRIPTION

usage: hypercorn \[-h\] \[--access-log ACCESS\_LOG\]

-

  \[--access-logfile ACCESS\_LOGFILE\] \[--access-logformat ACCESS\_LOGFORMAT\] \[--backlog BACKLOG\] \[-b BINDS\] \[--ca-certs CA\_CERTS\] \[--certfile CERTFILE\] \[--cert-reqs CERT\_REQS\] \[--ciphers CIPHERS\] \[-c CONFIG\] \[--debug\] \[--error-log ERROR\_LOG\] \[--error-logfile ERROR\_LOGFILE\] \[--graceful-timeout GRACEFUL\_TIMEOUT\] \[--read-timeout READ\_TIMEOUT\] \[--max-requests MAX\_REQUESTS\] \[--max-requests-jitter MAX\_REQUESTS\_JITTER\] \[-g GROUP\] \[-k WORKER\_CLASS\] \[--keep-alive KEEP\_ALIVE\] \[--keyfile KEYFILE\] \[--keyfile-password KEYFILE\_PASSWORD\] \[--insecure-bind INSECURE\_BINDS\] \[--log-config LOG\_CONFIG\] \[--log-level LOG\_LEVEL\] \[-p PID\] \[--quic-bind QUIC\_BINDS\] \[--reload\] \[--root-path ROOT\_PATH\] \[--server-name SERVER\_NAMES\] \[--statsd-host STATSD\_HOST\] \[--statsd-prefix STATSD\_PREFIX\] \[-m UMASK\] \[-u USER\] \[--verify-mode VERIFY\_MODE\] \[--websocket-ping-interval WEBSOCKET\_PING\_INTERVAL\] \[-w WORKERS\] application

### positional arguments:

- application

  The application to dispatch to as path.to.module:instance.path

### options:

- **-h**, **--help**

  show this help message and exit

- **--access-log** ACCESS\_LOG

  Deprecated, see access-logfile

- **--access-logfile** ACCESS\_LOGFILE

  The target location for the access log, use \`-\` for stdout

- **--access-logformat** ACCESS\_LOGFORMAT

  The log format for the access log, see help docs

- **--backlog** BACKLOG

  The maximum number of pending connections

- **-b** BINDS, **--bind** BINDS

  The TCP host/address to bind to. Should be either host:port, host, unix:path or fd://num, e.g. 127.0.0.1:5000, 127.0.0.1, unix:/tmp/socket or fd://33 respectively.

- **--ca-certs** CA\_CERTS

  Path to the SSL CA certificate file

- **--certfile** CERTFILE

  Path to the SSL certificate file

- **--cert-reqs** CERT\_REQS

  See verify mode argument

- **--ciphers** CIPHERS

  Ciphers to use for the SSL setup

- **-c** CONFIG, **--config** CONFIG

  Location of a TOML config file, or when prefixed with \`file:\` a Python file, or when prefixed with \`python:\` a Python module.

- **--debug**

  Enable debug mode, i.e. extra logging and checks

- **--error-log** ERROR\_LOG

  Deprecated, see error-logfile

- **--error-logfile** ERROR\_LOGFILE, **--log-file** ERROR\_LOGFILE

  The target location for the error log, use \`-\` for stderr

- **--graceful-timeout** GRACEFUL\_TIMEOUT

  Time to wait after SIGTERM or Ctrl-C for any remaining requests (tasks) to complete.

- **--read-timeout** READ\_TIMEOUT

  Seconds to wait before timing out reads on TCP sockets

- **--max-requests** MAX\_REQUESTS

  Maximum number of requests a worker will process before restarting

- **--max-requests-jitter** MAX\_REQUESTS\_JITTER

  This jitter causes the max-requests per worker to be randomized by randint(0, max\_requests\_jitter)

- **-g** GROUP, **--group** GROUP

  Group to own any unix sockets.

- **-k** WORKER\_CLASS, **--worker-class** WORKER\_CLASS

  The type of worker to use. Options include asyncio, uvloop (pip install hypercorn\[uvloop\]), and trio (pip install hypercorn\[trio\]).

- **--keep-alive** KEEP\_ALIVE

  Seconds to keep inactive connections alive for

- **--keyfile** KEYFILE

  Path to the SSL key file

- **--keyfile-password** KEYFILE\_PASSWORD

  Password to decrypt the SSL key file

- **--insecure-bind** INSECURE\_BINDS

  The TCP host/address to bind to. SSL options will not apply to these binds. See \*bind\* for formatting options. Care must be taken! See HTTP -\> HTTPS redirection docs.

- **--log-config** LOG\_CONFIG

  "A Python logging configuration file. This can be prefixed with 'json:' or 'toml:' to load the configuration from a file in that format. Default is the logging ini format.

- **--log-level** LOG\_LEVEL

  The (error) log level, defaults to info

- **-p** PID, **--pid** PID

  Location to write the PID (Program ID) to.

- **--quic-bind** QUIC\_BINDS

  The UDP/QUIC host/address to bind to. See \*bind\* for formatting options.

- **--reload**

  Enable automatic reloads on code changes

- **--root-path** ROOT\_PATH

  The setting for the ASGI root\_path variable

- **--server-name** SERVER\_NAMES

  The hostnames that can be served, requests to different hosts will be responded to with 404s.

- **--statsd-host** STATSD\_HOST

  The host:port of the statsd server

- **--statsd-prefix** STATSD\_PREFIX

  Prefix for all statsd messages

- **-m** UMASK, **--umask** UMASK

  The permissions bit mask to use on any unix sockets.

- **-u** USER, **--user** USER

  User to own any unix sockets.

- **--verify-mode** VERIFY\_MODE

  SSL verify mode for peer's certificate, see ssl.VerifyMode enum for possible values.

- **--websocket-ping-interval** WEBSOCKET\_PING\_INTERVAL

  If set this is the time in seconds between pings sent to the client. This can be used to keep the websocket connection alive.

- **-w** WORKERS, **--workers** WORKERS

  The number of workers to spawn and use

-

  \[--access-logfile ACCESS\_LOGFILE\] \[--access-logformat ACCESS\_LOGFORMAT\] \[--backlog BACKLOG\] \[-b BINDS\] \[--ca-certs CA\_CERTS\] \[--certfile CERTFILE\] \[--cert-reqs CERT\_REQS\] \[--ciphers CIPHERS\] \[-c CONFIG\] \[--debug\] \[--error-log ERROR\_LOG\] \[--error-logfile ERROR\_LOGFILE\] \[--graceful-timeout GRACEFUL\_TIMEOUT\] \[--read-timeout READ\_TIMEOUT\] \[--max-requests MAX\_REQUESTS\] \[--max-requests-jitter MAX\_REQUESTS\_JITTER\] \[-g GROUP\] \[-k WORKER\_CLASS\] \[--keep-alive KEEP\_ALIVE\] \[--keyfile KEYFILE\] \[--keyfile-password KEYFILE\_PASSWORD\] \[--insecure-bind INSECURE\_BINDS\] \[--log-config LOG\_CONFIG\] \[--log-level LOG\_LEVEL\] \[-p PID\] \[--quic-bind QUIC\_BINDS\] \[--reload\] \[--root-path ROOT\_PATH\] \[--server-name SERVER\_NAMES\] \[--statsd-host STATSD\_HOST\] \[--statsd-prefix STATSD\_PREFIX\] \[-m UMASK\] \[-u USER\] \[--verify-mode VERIFY\_MODE\] \[--websocket-ping-interval WEBSOCKET\_PING\_INTERVAL\] \[-w WORKERS\] application

hypercorn: error: the following arguments are required: application

## SEE ALSO

The full documentation for **usage:** is maintained as a Texinfo manual.  If the **info** and **usage:** programs are properly installed at your site, the command

-

  **info usage:**

should give you access to the complete manual.
