Skip to content

Development

Branches

There are two branches, v2 and v3, which map to the 2.0.0+ and 3.0.0+ versions, respectively. These are the defacto branches to branch from when developing features.

The v2 branch (as well as the 2.0.0+ version) will be deprecated in the near-future.

master will reflect the latest major version branch.

Local

There is a build script written in Bash named build.sh that checks if Python 3 is installed, installs a specific version of Poetry.

After the build.sh script finishes executing, there will be instructions printed to standard output that give context around the location of Poetry's bin directory and how to add this directory to the PATH environment variable.

Note

The pyproject.toml file is used to describe the project's requirements and relevant metadata including both the project's dependencies and it's development dependencies (like for generating code coverage, and this documentation site)

Testing

Unit tests are organized in the unit directory under the tests directory while integration tests are organized under the integration directory.

In the cases where tests are extensive (like integration tests for an API method), each of these tests are grouped in a separate file, even if they are implemented in the same file.

This is why API methods have their own integration test file under the client directory even though they are all implemented in the client.py file.

Currently, this project uses Codecov for code coverage statistics.

Continuous Integration

GitHub Actions is used for continuous integration to run tests on a variety of operating systems.

Documentation Application

This project uses the MkDocs library to generate the assets associated with the documentation application.

To run the documentation application locally, ensure dependencies are installed and then execute

mkdocs serve