How to contribute to AGNI

Bug reporting

  • Ensure the bug was not already reported by searching on GitHub under Issues.

  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

  • For more general information on submitting a bug report, visit this page.

Bug fixing

  • Open a new GitHub pull request (PR) with the patch.

  • Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.

  • Before submitting, please ensure your changes are consistent with the existing codebase. These can also be viewed in the development manual.

New features

  • Suggest your change on the issues page and start writing code.

Coding style

  • Indentation uses 4 spaces, no tabs.
  • Function names should be lowercase, with words separated by underscores .
  • Lines should aim to have a length of no more than 92 characters.
  • All functions should have docstrings, ideally with Arguments and Returns listed.
  • More comments are always better, even if they seem redundant.
  • Use type hinting where possible.
  • Print statements should be made through the logger where possible.
  • The core package code should not contain global variables, except in the phys module.

Queries and questions

Open source

AGNI is free, libre, and open source software. I encourage your contributions and suggestions.

Thanks, -Harrison