Contributing
Thank you for your interest in helping to build XScape! In this page you will find all the information you need to start contributing to the project. Make sure you follow the installation instructions for your particular case.
Developers
XScape uses Poetry for dependency management and Poe the Poet for task automation.
You can install both tools using pipx.
pipx install poetry poethepoet
Version control is done with Git through our GitHub repository. To add your contributions to XScape clone the main branch and submit a pull request once your work is done.
Don’t forget to add docstrings and typehints to your code!
This allows the Sphinx to automatically create complete documentation pages for each module, class and function in the library.
We use numpy-style docstrings all throughout the codebase.
You may automatically run the linter and all tests using poe, by running:
poetry run poe all
To run only the linter or the tests, substitute all with either lint or test.
We use Ruff for linting and formatting, and pytest as a testing framework.
Documentation writers
These documentation pages are built with Sphinx, using the MyST parser for Markdown support.
Make sure to follow all Markdown best-practices.
This should be easy if you’re using Visual Studio Code with the markdownlint extension.