poetry is a required package to develop.
git clone https://github.com/git-pull/gp-libs.git
poetry install -E "docs test coverage lint format"
Makefile commands prefixed with
watch_ will watch files and rerun.
poetry run py.test
Automatically run tests on file save#
make start(via pytest-watcher)
make watch_test(requires installing entr(1))
Default preview server: http://localhost:8034
sphinx-autobuild will automatically build the docs, watch for file changes and launch a server.
From home directory:
Manual documentation (the hard way)#
cd docs/ and
make html to build.
make serve to start http server.
Rebuild docs on file change:
make watch_docs (requires entr(1))
Rebuild docs and run server via one terminal:
make dev_docs (requires above, and a
-J support, e.g. GNU Make)
Formatting / Linting#
The project uses black and isort (one after the other) and runs flake8 via
CI. See the configuration in
make black isort: Run
black first, then
isort to handle import nuances
make flake8, to watch (requires
poetry handles virtualenv creation, package requirements, versioning, building, and publishing. Therefore there is no setup.py or requirements files.
git commit -m 'build(gp_libs): Tag v0.1.1' git tag v0.1.1 git push git push --tags poetry build poetry publish