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.