Contributing to NiaPy
=====================

First off, thanks for taking the time to contribute!

Code of Conduct
---------------
This project and everyone participating in it is governed by the :doc:`/code_of_conduct`.
By participating, you are expected to uphold this code. Please report unacceptable behavior
to niapy.organization@gmail.com.

How Can I Contribute?
---------------------

Reporting Bugs
~~~~~~~~~~~~~~
Before creating bug reports, please check existing issues list as you might find out that
you don't need to create one. When you are creating a bug report, please include as many
details as possible. Fill out the required template, the information it asks for helps us
resolve issues faster.

Suggesting Enhancements
~~~~~~~~~~~~~~~~~~~~~~~

- Open new issue
- Write in details what enhancement would you like to see in the future
- If you have technical knowledge, propose solution on how to implement enhancement

Pull requests (PR)
~~~~~~~~~~~~~~~~~~

.. note::

    If you are not so familiar with Git or/and GitHub, we suggest you take a look at our :doc:`/guides/git_beginners`.

.. note::

    Firstly follow the developers :doc:`/installation` guide to install needed software in order to contribute to our source code.

- Fill in the required template
- Document new code
- Make sure all the code goes through Flake8 without problems (run ``make check`` command)
- Run tests (run ``make test`` command)
- Make sure PR builds goes through
- Follow discussion in opened PR for any possible needed changes and/or fixes