Skip to content
Snippets Groups Projects
After you've reviewed these contribution guidelines, you'll be all set to contribute to this project.
CONTRIBUTING.md 3.71 KiB

Contributing

Contributions to pystencils are always welcome, and they are greatly appreciated! A list of open problems can be found here. Of course, it is also always appreciated to bring own ideas and problems to the community!

Please submit all contributions to the official GitLab repository in the form of a Merge Request. Please do not submit git diffs or files containing the changes. There also exists a GitHub repository, which is only a mirror to the GitLab repository. Contributions to the GitHub repository are not considered.

pystencils is an open-source python package under the license of AGPL3. Thus we consider the act of contributing to the code by submitting a Merge Request as the "Sign off" or agreement to the AGPL3 license.

You can contribute in many different ways:

Types of Contributions

Report Bugs

Report bugs at https://i10git.cs.fau.de/pycodegen/pystencils/-/issues.

For pystencils, it is often necessary to provide the python and SymPy versions used and hardware information like the processor architecture and the compiler version used to compile the generated kernels.

Fix Issues

Look through the GitLab issues. Different tags are indicating the status of the issues. The "bug" tag indicates problems with pystencils, while the "feature" tag shows ideas that should be added in the future.

Write Documentation

The documentation of pystencils can be found here. Jupyter notebooks are used to provide an interactive start to pystencils. It is always appreciated if new document notebooks are provided since this helps others a lot.

Get Started!

Ready to contribute? Here is how to set up pystencils for local development.

  1. Fork the pystencils repo on GitLab.
  2. Clone your fork locally:
    $ git clone https://i10git.cs.fau.de/your-name/pystencils
  1. Install your local copy into a virtualenv. It is also recommended to use anaconda or miniconda to manage the python environments.
    $ mkvirtualenv pystencils
    $ cd pystencils/
    $ pip install -e .
  1. Create a branch for local development: