All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
Using the Github issues feature, please explain in as much detail as possible:
- The Python version and environment
- How UPSTAGE was installed
- A minimum working example of the bug, along with any output/errors.
Bug reports and enhancement requests are an important part of making UPSTAGE more stable. If you wish to contribute, then please be sure there is an active issue to work against. If there is not one please create one.
You will need your own copy of UPSTAGE (aka fork) to work on the code. Go to the UPSTAGE project page and hit the Fork
button.
- Get
pixi
. - Use
pixi run -e dev start
That will give you an editable install in to the dev
local environment managed by pixi
. It also runs the lint,
tests, and builds the docs. Any errors from that command should be reported as issues.
- Use
pixi r -e dev lint-fix
, andpixi r -e dev lint-check
to run style/formatting/typing checks. - Use
pixi r -e dev test
to run the tests - If you modify the docs, use
pixi r -e dev build_html_docs
to ensure they build.
Code quality is enforced using the following tools:
pyproject-fmt
- pyproject.toml formatterssort
- source code sorterruff
- linter and code formattermypy
- static type checker
For style, see STYLE_GUIDE.
The valid target for all pull requests is dev
. Please ensure that your pull request includes
documentation and explanation for its purpose and sufficient documentation to explain its usage.