Contribution guide — triflow 0.4.3 documentation

# Contribution guide

## Minor Contribution

Testing, issue reporting, new feature request are welcome (via the github repository).

## Make

- a makefile is provided, and

  > - make env install the requirement for triflow and triflow itself
  > - make init install the developpement requirement
  > - make clean remove all the build artefacts
  > - make test launch the test (doctest + pytest, with coverage)
  > - make doc build the documentation

## Testing

- the master branch require 100% coverage (or good reason to ignore part of the code)
- the doctest needs to pass the test too, making sure the examples are consistants
- if the API change, the test will move to a file deprecated.py in tests folder, a warning will be raised and the deprecated API will be removed at the next major version (after the 1.0), or after 2 minor version (before the 1.0)

## Style guide

The code is pep8 complient, and the tests is running with pytest-pep8 and pylama. the #noqa flag is allowed, but the reason has to be written.

Docstring for public API and main methods are mandatory.

## Roadmap

- go to continous integration via travis (or other?)

- include t as symbolic variable to allow time dependent functions (non-autonomous dynamical systems)

- test different model against analytical solutions or reference library

- benchmark the solver

- drop the 1D limitation with

  > - 2D
  > - ND with arbitrary independant variable

- implement various finite different scheme (as upwind), or better, an easy way to add new spatial scheme

- give the ability to use mixed scheme