This repository is a quick start template for new photonai modules. To get started simply follow these steps:
- Klick "Use this template" button
- Fill in details for the new photonai module
- Wait for the repository to be created
- Wait for the Github Actions to run once
- As soon as the "✅ Ready to clone and code." commit appears in your repository you are ready to start coding
- (optional) Remove "rename_project.yml" workflow from .github/workflows
- (optional) Remove "rename_project.sh" from .github
- Remove this how to section from readme
- 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
project_name/project_name.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