This is a CLI tool for building the Nottingham New Theatre's History Project content database.
Project description
History Project API Generator
This project generates a JSON API from the history-project content repository. It does that in two steps:
- load: Generate a sqlite database from the source files.
- dump: Use that database to generate a JSON API.
Endpoints
- The API is currently hosted at https://nthp-api.wjdp.uk/v1.
- The specification is available at https://nthp-api.wjdp.uk/v1/master/openapi.json.
- To render the spec into human-readable docs use a tool such as:
Usage
From source
- Ensure you have Poetry installed.
- Run
poetry install. - Clone the history project repository into the
content/directory. You can do a shallow clone for this:GIT_LFS_SKIP_SMUDGE=1 git clone --depth 1 --branch master git@github.com:newtheatre/history-project content. - Run
./nthp loadto generate the sqlite database from the content files. - Run
./nthp dumpto generate the API from the database into thedist/directory.
From PyPi
- With pip installed run
pip install --user nthp-api. If you have your local bin folder on your path you should now be able to runnthp. - Within the history-project repo run
nthp loadto generate the sqlite database from the content files. - Run
nthp dumpto generate the API from the database into thedist/directory.
Alternatively you can run nthp build to run both steps in one go.
Contributing
pre-commit hooks
pre-commit hooks are used to lint the source code using Black and ruff
- Ensure you have pre-commit installed.
- Run
pre-commit installto install pre-commit hooks.
Tests
Run pytest or use the included PyCharm run configuration.
Release
See the bin/release.sh script for the release process. This assumes that your local machine has the correct credentials to publish to PyPi.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nthp_api-0.1.8.tar.gz.
File metadata
- Download URL: nthp_api-0.1.8.tar.gz
- Upload date:
- Size: 28.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.19.0-46-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a27e7f901220e7601c28ad2cee2fd3e0c694ac41d51046ad26a32cefce8bd80
|
|
| MD5 |
b5b280a5a6755757198b8912cfa2ba3c
|
|
| BLAKE2b-256 |
62eabbd3e75b2a50867c4d8ba537cef177ca146046d5bc5cabe8e7ece0030d96
|
File details
Details for the file nthp_api-0.1.8-py3-none-any.whl.
File metadata
- Download URL: nthp_api-0.1.8-py3-none-any.whl
- Upload date:
- Size: 36.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.19.0-46-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73d61e658d88a5d80843d7531575e5244ac0160903be0063dfb765f86fb7ce8f
|
|
| MD5 |
9db8591220a757bff74ece0b250b3bf0
|
|
| BLAKE2b-256 |
a12887a603891cce8d573f9e226b076c330018c69d7dea6866ecf05b932c235f
|