10. Getting Involved¶
This project is hosted in github. To provide feedback about bugs and errors or questions and requests for enhancements, use github’s Issue-tracker.
10.1. Development procedure¶
For submitting code, use UTF-8
everywhere, unix-eol(LF
) and set git --config core.autocrlf = input
.
The typical development procedure is like this:
Install and arm a pre-commit hook with black to auto-format you python-code.
Modify the sources in small, isolated and well-defined changes, i.e. adding a single feature, or fixing a specific bug.
Add test-cases “proving” your code.
Rerun all test-cases to ensure that you didn’t break anything, and check their coverage remain above the limit set in
setup.cfg
.If you made a rather important modification, update also the Changes file and/or other documents (i.e. README.rst). To see the rendered results of the documents, issue the following commands and read the result html at
build/sphinx/html/index.html
:python setup.py build_sphinx # Builds html docs python setup.py build_sphinx -b doctest # Checks if python-code embedded in comments runs ok.
If there are no problems, commit your changes with a descriptive message.
Repeat this cycle for other bugs/enhancements.
When you are finished, push the changes upstream to github and make a merge_request. You can check whether your merge-request indeed passed the tests by checking its build-status on the integration-server’s site (TravisCI).
Hint
Skim through the small IPython developer’s documentation on the matter: The perfect pull request
Generate the Sphinx documents in
./wltp.git/docs/_build/html/
with this command:python setup.py build_sphinx
Access the generated documents through a a web-server, for graphtik graphs to work correctly, with this bash-command (remove the final
&
on Windows):python -m http.server 8080 --directory ./wltp.git/docs/_build/html/ &
10.2. Development team¶
- Author:
Kostis Anagnostopoulos
- Contributing Authors:
Heinz Steven (test-data, validation and review)
Georgios Fontaras (simulation, physics & engineering support)
Alessandro Marotta (policy support)
Jelica Pavlovic (policy support)
Eckhard Schlichte (discussions & advice)