๐Ÿค Contributing to landmarkerยถ

๐ŸŽ‰ First off all, thank you for considering contributing to landmarker! ๐ŸŽ‰

Itโ€™s people like you that make landmarker useful and successful. There are many ways to contribute, hereโ€™s a few examples:

  • ๐Ÿ› Report bugs: Something not working as expected? Please report bugs and weโ€™ll try to fix them as soon as possible.

  • ๐Ÿ”จ Fix bugs: We try to fix bugs as soon as possible. If you want to help, please check the issues.

  • ๐Ÿ” Improve documentation: Did you find a typo in the documentation? Or do you think something is missing? Please help us improve the documentation.

  • โœจ Request/add new features: Do you think landmarker is missing a feature? Please let us know by creating an issue, however check first if the feature is already requested. Or even better, add the feature yourself and create a pull request.

  • ๐Ÿ“ Write tutorials: We are always looking for new tutorials, for example how to use landmarker for a specific task. Please help us by writing a tutorial and create a pull request.

For more information on contributing to open source projects, GitHubโ€™s own guide is a great starting point if you are new to version control.

Setting up your development environmentยถ

To get started, fork the landmarker repository and clone it to your local machine. Then, install the required dependencies using uv (see installation instructions):

uv sync

Running testsยถ

landmarker uses pytest for testing. Coverage reporting is enabled by default:

uv run pytest

To run the complete test matrix across all supported Python versions, as well as the lint and type-check environments, use tox:

uv run tox

You can also run the lint and type checks directly:

uv run flake8 src/
uv run mypy src/

Building documentationยถ

landmarker uses sphinx for documentation, and use MyST markdown for documentation pages. You can build the documentation locally by running the following command:

uv run sphinx-build docs docs/_build/html

We also support the use of sphinx-autobuild, which will automatically rebuild the documentation when a change is detected and live-reload the page in your browser. You can run it using the following command:

uv run sphinx-autobuild docs docs/_build/html --ignore _collections

Ground Rulesยถ

The goal is to maintain a diverse community thatโ€™s pleasant for everyone. Please be considerate and respectful of others. Everyone must abide by our Code of Conduct and we encourage all to read it carefully.