Contributing¶
If you want to explore the interior of Piccolo API more deeply and help with the project, follow these instructions.
Get the tests running¶
Create a new virtualenv
Clone the Git repo
cd piccolo_api
Install default dependencies:
pip install -r requirements/requirements.txt
Install development dependencies:
pip install -r requirements/dev-requirements.txt
Install test dependencies:
pip install -r requirements/test-requirements.txt
Setup Postgres
Run the automated code linting/formatting tools:
./scripts/lint.sh
Run the test suite with Postgres:
./scripts/test-postgres.sh
Run the test suite with Sqlite:
./scripts/test-sqlite.sh
Contributing to the docs¶
The docs are written using Sphinx. To get them running locally:
Install the requirements:
pip install -r requirements/doc-requirements.txt
cd docs
Do an initial build of the docs:
make html
cd ..
Serve the docs:
./scripts/run-docs.sh
The docs will auto rebuild as you make changes.
Code style¶
Piccolo uses Black for formatting, preferably with a max line length of 79, to keep it consistent with PEP8 .
You can configure VSCode by modifying
settings.json
as follows:
{
"python.linting.enabled": true,
"python.linting.mypyEnabled": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": [
"--line-length",
"79"
],
"editor.formatOnSave": true
}
Type hints are used throughout the project.