cli#

Command line interface for the application.

Litestar CLI#

app#

Litestar CLI.

app [OPTIONS] COMMAND [ARGS]...

Options

--app <app_path>#

Module path to a Litestar application

--app-dir <app_dir>#

Look for APP in the specified directory, by adding this to the PYTHONPATH. Defaults to the current working directory.

info#

Show information about the detected Litestar app.

app info [OPTIONS]

routes#

Display information about the application’s routes.

app routes [OPTIONS]

Options

--schema#

Include schema routes

--exclude <exclude>#

routes to exclude via regex

run#

Run a Litestar app; requires uvicorn.

The app can be either passed as a module path in the form of <module name>.<submodule>:<app instance or factory> set as an environment variable LITESTAR_APP with the same format or automatically discovered from one of these canonical paths: app.py, asgi.py, application.py or app/__init__.py. When auto-discovering application factories, functions with the name create_app are considered, or functions that are annotated as returning a Litestar instance.

app run [OPTIONS]

Options

-r, --reload#

Reload server on changes

-R, --reload-dir <reload_dir>#

Directories to watch for file changes

-I, --reload-include <reload_include>#

Glob patterns for files to include when watching for file changes

-E, --reload-exclude <reload_exclude>#

Glob patterns for files to exclude when watching for file changes

-p, --port <port>#

Serve under this port

Default:

8000

-W, --wc, --web-concurrency <wc>#

The number of HTTP workers to launch

Default:

1

-H, --host <host>#

Server under this host

Default:

'127.0.0.1'

-F, --fd, --file-descriptor <fd>#

Bind to a socket from this file descriptor.

-U, --uds, --unix-domain-socket <uds>#

Bind to a UNIX domain socket.

-d, --debug#

Run app in debug mode

-P, --pdb, --use-pdb#

Drop into PDB on an exception

--ssl-certfile <ssl_certfile>#

Location of the SSL cert file

--ssl-keyfile <ssl_keyfile>#

Location of the SSL key file

--create-self-signed-cert#

If certificate and key are not found at specified locations, create a self-signed certificate and a key

Environment variables

LITESTAR_RELOAD

Provide a default for -r

LITESTAR_RELOAD_DIRS

Provide a default for -R

LITESTAR_RELOAD_INCLUDES

Provide a default for -I

LITESTAR_RELOAD_EXCLUDES

Provide a default for -E

LITESTAR_PORT

Provide a default for -p

['LITESTAR_WEB_CONCURRENCY', 'WEB_CONCURRENCY']

Provide a default for -W

LITESTAR_HOST

Provide a default for -H

LITESTAR_FILE_DESCRIPTOR

Provide a default for -F

LITESTAR_UNIX_DOMAIN_SOCKET

Provide a default for -U

LITESTAR_DEBUG

Provide a default for -d

LITESTAR_PDB

Provide a default for -P

LITESTAR_SSL_CERT_PATH

Provide a default for --ssl-certfile

LITESTAR_SSL_KEY_PATH

Provide a default for --ssl-keyfile

LITESTAR_CREATE_SELF_SIGNED_CERT

Provide a default for --create-self-signed-cert

schema#

Manage server-side OpenAPI schemas.

app schema [OPTIONS] COMMAND [ARGS]...
openapi#

Generate an OpenAPI Schema.

app schema openapi [OPTIONS]

Options

--output <output>#

output file path

Default:

PosixPath('openapi_schema.json')

typescript#

Generate TypeScript specs from the OpenAPI schema.

app schema typescript [OPTIONS]

Options

--output <output>#

output file path

Default:

PosixPath('api-specs.ts')

--namespace <namespace>#

namespace to use for the typescript specs

sessions#

Manage server-side sessions.

app sessions [OPTIONS] COMMAND [ARGS]...
clear#

Delete all sessions.

app sessions clear [OPTIONS]
delete#

Delete a specific session.

app sessions delete [OPTIONS] SESSION_ID

Arguments

SESSION_ID#

Required argument

version#

Show the currently installed Litestar version.

app version [OPTIONS]

Options

-s, --short#

Exclude release level and serial information

Database CLI#

app database#

Manage SQLAlchemy database components.

app database [OPTIONS] COMMAND [ARGS]...
downgrade#

Downgrade database to a specific revision.

app database downgrade [OPTIONS] [REVISION]

Options

--sql#

Generate SQL output for offline migrations.

--tag <tag>#

an arbitrary ‘tag’ that can be intercepted by custom env.py scripts via the .EnvironmentContext.get_tag_argument method.

--no-prompt#

Do not prompt for confirmation before downgrading.

Default:

False

Arguments

REVISION#

Optional argument

drop-all#

Drop all tables from the database.

app database drop-all [OPTIONS]

Options

--no-prompt#

Do not prompt for confirmation before upgrading.

Default:

False

dump-data#

Dump specified tables from the database to JSON files.

app database dump-data [OPTIONS]

Options

--table <table_names>#

Required Name of the table to dump. Multiple tables can be specified. Use ‘*’ to dump all tables.

--dir <dump_dir>#

Directory to save the JSON files. Defaults to WORKDIR/fixtures

init#

Initialize migrations for the project.

app database init [OPTIONS] DIRECTORY

Options

--multidb#

Support multiple databases

--package#

Create __init__.py for created folder

--no-prompt#

Do not prompt for confirmation before initializing.

Default:

False

Arguments

DIRECTORY#

Required argument

make-migrations#

Create a new migration revision.

app database make-migrations [OPTIONS]

Options

-m, --message <message>#

Revision message

--autogenerate, --no-autogenerate#

Automatically populate revision with detected changes

--sql#

Export to .sql instead of writing to the database.

--head <head>#

Specify head revision to use as base for new revision.

--splice#

Allow a non-head revision as the “head” to splice onto

--branch-label <branch_label>#

Specify a branch label to apply to the new revision

--version-path <version_path>#

Specify specific path from config for version file

--rev-id <rev_id>#

Specify a ID to use for revision.

--no-prompt#

Do not prompt for a migration message.

Default:

False

merge-migrations#

Merge multiple revisions into a single new revision.

app database merge-migrations [OPTIONS]

Options

--revisions <revisions>#

Specify head revision to use as base for new revision.

-m, --message <message>#

Revision message

--branch-label <branch_label>#

Specify a branch label to apply to the new revision

--rev-id <rev_id>#

Specify a ID to use for revision.

--no-prompt#

Do not prompt for a migration message.

Default:

False

show-current-revision#

Shows the current revision for the database.

app database show-current-revision [OPTIONS]

Options

--verbose#

Enable verbose output.

stamp-migration#

Mark (Stamp) a specific revision as current without applying the migrations.

app database stamp-migration [OPTIONS]

Options

--revision <revision>#

Revision to stamp to

--sql#

Generate SQL output for offline migrations.

--purge#

Delete existing records in the alembic version table before stamping.

--tag <tag>#

an arbitrary ‘tag’ that can be intercepted by custom env.py scripts via the .EnvironmentContext.get_tag_argument method.

--no-prompt#

Do not prompt for confirmation.

Default:

False

upgrade#

Upgrade database to a specific revision.

app database upgrade [OPTIONS] [REVISION]

Options

--sql#

Generate SQL output for offline migrations.

--tag <tag>#

an arbitrary ‘tag’ that can be intercepted by custom env.py scripts via the .EnvironmentContext.get_tag_argument method.

--no-prompt#

Do not prompt for confirmation before upgrading.

Default:

False

Arguments

REVISION#

Optional argument