Skip to content

jernsting/python_package_template

 
 

Repository files navigation

Python application Coverage Status GitHub Quality Gate Status

How to use this template

This repository is a quick start template for new photonai modules. To get started simply follow these steps:

  1. Klick "Use this template" button
  2. Fill in details for the new photonai module
  3. Wait for the repository to be created
  4. Wait for the Github Actions to run once
  5. As soon as the "✅ Ready to clone and code." commit appears in your repository you are ready to start coding
  6. (optional) Remove "rename_project.yml" workflow from .github/workflows
  7. (optional) Remove "rename_project.sh" from .github
  8. Remove this how to section from readme

Included features

  • 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)

Development workflow: Add new algorithms

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

Release a version of your software (on pypi)

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

Releases

No releases published

Languages

  • Python 100.0%