Contributing#
Contributors and contributions are welcome. Please read these guidelines first.
Git #
The project homepage is on GitHub.
Contributors can open pull requests from a fork targeting the parent main branch. But it may be a good first step to create an issue or open a discussion topic.
Repo #
Setting up the project should be straightforward once you have cloned the repository. A minimum of Python 3.11 is required (see requires-python in pyproject.toml).
To run examples or tests you will need an API username and key from the FCA developer portal.
Dependencies #
Runtime dependencies are defined in the [project] section of pyproject.toml. At the time of writing these are:
Development and tooling dependencies are specified under [tool.pdm.dev-dependencies] in the project TOML.
Tests #
Tests are located in the tests folder and can be run directly with pytest or via the Makefile, which provides the following targets:
make unittests- run the unit test suite with coverage reporting.make lint- run Ruff oversrcandtests.make autoformat- apply Ruff formatting and autofix lint issues where possible.
Documentation #
The documentation is written in reStructuredText and built with Sphinx.
HTML documentation is built locally with:
pdm run doc
which invokes the docs target in the Makefile and outputs HTML into dist/docs/html.
The Sphinx theme in use is pydata-sphinx-theme.
CI #
The CI workflows are defined here and there is also a separate CodeQL workflow.