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.
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 |