Environment setup

git clone https://github.com/samule-i/droppii.git
make dev-init

make dev-init will:

  • Install a local python 3.11 binary if python 3.11 is not detected
  • Setup a virtual environment
  • Install developer dependencies
  • Install project dependencies
  • Install the droppii package in editable mode

Testing

Before attempting to run tests, ensure that you have a development environment setup as outlined in Development Environment Setup

make test

make test will:

  • run unit-tests using pytest
  • check code coverage using pytest-cov

Security & Standards

This project currently aims to avoid security vulnerabilities and remain compliant with common standards.

CI/CD pipeline checks for these, it is recommended that these tests are run during development before pushing changes.

make standards

make standards will:

  • run bandit to check for common vulnerabilities in package code.
  • run safety to check for vulnerabilites in 3rd party packages used.
  • run autopep8 and flake8 to ensure pep 8 compliance.

Documentation

To prevent unnecessary triggers of github-actions, github-pages will only be built and deployed on changes to the main branch, changes on feature branches should make implementation and documentation changes in parallel.

It is recommended that you use mkdocs serve --config-file=docs/mkdocs.yml to preview the generated mkdocs site and ensure that the changes render correctly.

Documentation is currently hosted using github pages as a static website generated by mkdocs