- Code testing and coverage calculation (if coveralls secret COVERALLS_REPO_TOKEN is set)
- Continous Integration for testing and documentation updates based on Github Actions.
- MkDocs-Material based documentation template
- Photonai compatible init.py with boilerplate code for registration of new module
- pbr based auto-versioning for python releases
- blueprint action for pypi publishing (on github release)
Take a look at some of our modules like photonai neuro or photonai graph. Most importantly: Feel free to reach out via issues in case of problems, e.g. by creating an issue at the photonai repo
In order to add a new Algorithm / Feature to your project you can follow the steps below. By providing unit tests, a documentation and an example you maximize code quality and usability of your module.
- Develop your learning algorithm / transformer / utility code (remember to adhere to the scikit-learn object API as documented here)
- Test your algorithms in a respective test file in the
test
folder - Document algorithms in the
docs
folder by copying and adapting the provided .md file - Provide an example on how to use your algorithms in an appropriately named file in the examples folder.
- Expose the algorithm to photonai by adding it to the the
photonai_icu/photonai_icu.json
file with the full path. An example is provided within this repository. Thereby, the algorithm can be imported via its name, as defined in the json file. Make sure to pick a unique name.
In order to access your algorithms and functions in photonai you have to import your module once in your final script. This triggers the registration process in the photonai core module!
We suggest releasing via the github website. Simply create a release and an according tag. The tag is then used as version number and (if configured) the desired version is immediately build and released on pypi.
Documentation avaiable at: Documentation