Skip to content

Development

Branches

There are two branches, v3 and v4, which map to the 3+ and 4+ versions, respectively. These are the defacto branches to branch from when developing features.

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

master will reflect the latest major version branch.

Local

Install dependencies using poetry - for installation directions, see the documentation.

Once poetry has been installed, dependencies can be installed using the install command like

poetry install

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.

Warning

Sometimes the suite of integration tests run into rate-limiting errors - I'm currently thinking of ways to mitigate this behavior.

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.