Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 3.08 KB

CONTRIBUTING.md

File metadata and controls

36 lines (27 loc) · 3.08 KB

This intellectual work is Copyright (C) 2021 Bjorn Cole. It is licensed under GPL v3 with intent to retain strong copyleft properties. Contributions are welcome with the understanding that code contributed directly back to this repository via merges or pull requests will also be understood to have copyright ownership transferred to Bjorn Cole.

Forking the code is welcome, as is creating derivative work for SysML v2 semantic interpretation. In order to contribute to this repository, please contact Bjorn at [email protected].

Pull requests are the preferred method of code modification submission.

Getting Setup

Before contributing your pull requests, please run:

pixi run precommit

This commit is basically what is run by the CI pipeline, and your PR will not pass CI until you can pass all checks and tests.

This command will run the automatic code formatter, the notebook cleaner, the code linter, the static type checker, and the unit tests.

These commands can be run in isolation.

Task Description Re-run Conditions
build-dist Packages an un-built source distribution (sdist) and a built package (wheel) for pymbe
build-docs Builds the documentation for pymbe (Future Work) All .py files in src/ and docs/ and .rst files in docs/
build Packages and Builds the python package (build-dist) and the documentation (build-docs)
clean-notebooks Strips outputs from all Jupyter notebooks in the ./docs folder All *.ipynb in ./docs folder
fmt-docs Automatically formats all DOCSTRINGS in .py files in the ./src and ./tests folders All *.py in the ./src and ./tests folders
fmt-py Automatically formats all python code in .py files in the ./src and ./tests folders All *.py in the ./src and ./tests folders
fmt Automatically formats all .py files in the ./src and ./tests folders All *.py in the ./src and ./tests folders
lint Tries to fix linter issues and checks there are no linter errors in ./src and ./tests folders All *.py in the ./src and ./tests folders
precommit Runs the fmt, lint, typing, test, and clean-notebooks tasks
style Runs the fmt and lint tasks All *.py in the ./src and ./tests folders
test-nb Runs notebooks in .docs/ folder All *.py in the ./src and *.ipynb in the ./docs folders
test-py Runs tests and creates coverage report All *.py in the ./src and ./tests folders
test Runs the python (test-py) tests (in the future, this should also run the notebooks test-nb)
typing Runs mypy in the ./src folder All *.py in the ./src folder
update-submodules Updates git submodules .git/HEAD
vscode Launched Visual Studio Code from the appropriate environment