Contributions

Contributions are welcome, greatly appreciated and overall helps to improve the package.

Report Bugs

Before creating a new issue, do check if a bug was already reported

Report bugs through GitHub Issues:

  • Create a New Issue

  • Provide detailed information about the bug and preferably part of the code that exhibits the problem

  • Make sure to tag label as bug

Fix Bugs

Look through our GitHub issues labeled “kind:bug” for bugs.

Issues which are unassigned can be owned to implement it:

  • Create branch name with prefix bugfix/<bug-type>

  • Add relevant code fix and test case

  • Update the package version inside setup.py

  • Update the sphinx documentation

  • Once ready for review create a PR for master branch

Report Features

Before creating a new feature request, do check if a features was already requested

Report new features through GitHub Issues:

  • Create a New Issue

  • Provide detailed information about the feature, how it would work, benefits and scope

  • Make sure to tag label as feature

Implement Features

Look through the GitHub issues labeled “kind:feature” for features.

Issues which are unassigned can be owned to implement it:

  • Create branch name with prefix feature/<feature-type>

  • Add relevant code and test case

  • Update the package version inside setup.py

  • Update the sphinx documentation

  • Once ready for review create a PR for master branch.

Updating Sphinx Documentation

We use Sphinx for code documentation and are hosted on our Github pages

All the code can be found under luminaire/docs_source

Steps to update Sphinx documentation:

  • Install required packages from ~/luminaire/docs_source/sphinx-requirements.txt

  • On your local terminal cd till ~/luminaire/docs_source folder

  • run make clean, this will remove the folder ~/luminaire/docs_source/_build

  • run make html, this will create files under ~/luminaire/docs_source/_build

  • git add ~/_build

  • commit updated files as part of the PR

Github Workflow (CI/CD)

Github Workflow is used for CI/CD.

Luminaire CI:

One each commit Luminaire CI Workflow is invoked. Details about the Luminaire CI Workflow can be found here

Luminaire CD:

For releasing the code and making it available on PyPI, follow this steps:

  • setup.py has a new version specified

  • PR for master branch is approved and merged

  • Create a new release

  • Specify the Tag version with prefix v<version> example: v0.1.0

  • Select master branch

  • Provide relevant release title and description

  • If this is a pre-release check the box

  • Click Publish release and this will trigger Luminaire CD Workflow

  • Check PyPI release history

Submit Feedback

The best way to send feedback is by creating an issue on GitHub.

  • Create a New Issue

  • Provide detailed information about feedback

  • Make sure to tag label as feedback