No description
Find a file
2026-03-01 20:32:48 +05:30
flaskr Working code, failing test 2026-03-01 20:32:48 +05:30
tests Working code, failing test 2026-03-01 20:32:48 +05:30
.gitignore Minimum viable product 2023-07-11 14:09:54 +05:30
CONTRIBUTING.md Add CONTRIBUTING 2023-07-11 13:14:11 +00:00
LICENSE Update LICENSE 2026-02-17 16:28:03 +05:30
MANIFEST.in Minimum viable product 2023-07-11 14:09:54 +05:30
pyproject.toml Modified version number to reflect alpha stage 2023-07-11 14:22:24 +05:30
README.md Configured to run behind reverse proxy, using Gunicorn 2023-07-12 12:48:46 +05:30
requirements.txt Current prod version 2026-02-07 17:01:34 +05:30

Development

From the root directory, run pip install -r requirements.txt to install the package (and all dependencies) in editable mode.
Use gunicorn -w 2 'flaskr:create_app()' to run app. Increase the number of workers using the -w argument if desired. The package will be updated as you edit files.

Production

Run python -m build --wheel to generate the wheel, and install the wheel (found in dist/) in the production environment.
Use gunicorn -w 2 'flaskr:create_app()' to run app. Increase the number of workers using the -w argument if desired. To update package, you will need to install a new wheel.

Initializing database

The first time you install the app in each environment, you need to initialize database using flask --app flaskr init-db. This only needs to be run once per environment, and will delete existing database if run again.

Secret key

Every website with login needs a secret key to hash passwords with. <python_environment>/var/flaskr-instance/config.py must contain a line SECRET_KEY = '<secret_key>, which must be randomly generated.
Suggested way of generating the key is python -c 'import secrets; print(secrets.token_hex())', which returns a hexadecimal string with length 64. You may choose to randomly generate a key using a different method, but ensure that it is resistant to brute-force attacks.