Skip to content

Development

Branches

There is one main development branch (v4) that maps to the current major version (4.x.x). Any future major version development branches will reflect this pattern (i.e. the v5 branch contains changes associated with the next major version 5.x.x).

Local

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

Once uv has been installed, dependencies can be installed using the sync command like

uv sync

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.