Skip to main content

Run a Datasette server using Gunicorn

Project description

datasette-gunicorn

PyPI Changelog Tests License

Run a Datasette server using Gunicorn

Installation

Install this plugin in the same environment as Datasette.

datasette install datasette-gunicorn

Usage

The plugin adds a new datasette gunicorn command. This takes most of the same options as datasette serve, plus one more option for setting the number of Gunicorn workers to start:

-w/--workers X - set the number of workers. Defaults to 1.

To start serving a database using 4 workers, run the following:

datasette gunicorn fixtures.db -w 4

It is advisable to switch your datasette into WAL mode to get the best performance out of this configuration:

sqlite3 fixtures.db 'PRAGMA journal_mode=WAL;'

Run datasette gunicorn --help for a full list of options (which are the same as datasette serve --help, with the addition of the new -w option).

datasette gunicorn --help

Not all of the options to datasette serve are supported. Here's the full list of available options:

Usage: datasette gunicorn [OPTIONS] [FILES]...

  Start a Gunicorn server running to serve Datasette

Options:
  -i, --immutable PATH      Database files to open in immutable mode
  -h, --host TEXT           Host for server. Defaults to 127.0.0.1 which means
                            only connections from the local machine will be
                            allowed. Use 0.0.0.0 to listen to all IPs and allow
                            access from other machines.
  -p, --port INTEGER RANGE  Port for server, defaults to 8001. Use -p 0 to
                            automatically assign an available port.
                            [0<=x<=65535]
  --cors                    Enable CORS by serving Access-Control-Allow-Origin:
                            *
  --load-extension TEXT     Path to a SQLite extension to load
  --inspect-file TEXT       Path to JSON file created using "datasette inspect"
  -m, --metadata FILENAME   Path to JSON/YAML file containing license/source
                            metadata
  --template-dir DIRECTORY  Path to directory containing custom templates
  --plugins-dir DIRECTORY   Path to directory containing custom plugins
  --static MOUNT:DIRECTORY  Serve static files from this directory at /MOUNT/...
  --memory                  Make /_memory database available
  --config CONFIG           Deprecated: set config option using
                            configname:value. Use --setting instead.
  --setting SETTING...      Setting, see
                            docs.datasette.io/en/stable/settings.html
  --secret TEXT             Secret used for signing secure values, such as
                            signed cookies
  --version-note TEXT       Additional note to show on /-/versions
  --help-settings           Show available settings
  --create                  Create database files if they do not exist
  --crossdb                 Enable cross-database joins using the /_memory
                            database
  --nolock                  Ignore locking, open locked files in read-only mode
  -w, --workers INTEGER     Number of Gunicorn workers  [default: 1]
  --help                    Show this message and exit.

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd datasette-gunicorn
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datasette-gunicorn-0.1.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

datasette_gunicorn-0.1.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file datasette-gunicorn-0.1.1.tar.gz.

File metadata

  • Download URL: datasette-gunicorn-0.1.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for datasette-gunicorn-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3dabced1e00ed60e0cb85133f04836a355e9ce0ced9fc174a229b5deb27de27e
MD5 3b0428114c4da70c1c56eea6b533041c
BLAKE2b-256 f7eaa930415f1c3b4272a8ace361acabb467288d0207b42bd5caf6c5da2fa8d7

See more details on using hashes here.

File details

Details for the file datasette_gunicorn-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for datasette_gunicorn-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 54a66d345713345be3ed791280f104f31ea7e86f243962cfb76df8aa071ad8d9
MD5 51f9bbdcaad35acfa57f06e01e791ddb
BLAKE2b-256 f0cca77137b30be3552b2ebfda711570c648ba6e7f842f1a202420b6747d21f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page