Getting help/contributing to the code

If you would like to use DYNAMITE for any scientific project, please feel free to get in contact and discuss ideas or if you need help getting started.

We would also love to have your input to the code! We want to make contributing to this project as easy and transparent as possible, whether it is:

  • Reporting a bug

  • Discussing the current state of the code

  • Submitting a fix

  • Submitting a new feature or plugin

  • Proposing new features

  • Improving documentation

  • Writing new tutorials

To discuss the state of the code or exchange with other users, get in touch via our public github repository, posting issues or suggestions for future developments. If you would like to be added to this repository, please get in contact. When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository. Code contributions should be made in the form of pull requests.

Please note we have a code of conduct (see below): please follow it in all your interactions with the project.

Write bug reports with detail and background

A bug report needs:

  • A quick summary of what happened vs. what should have happened

  • Steps to reproduce the problem, including the config file used, compile-time and run-time options and info on which compiler/libraries were used in the build.

  • Detailed diagnostic output (copy of log file, error messages, …)

  • Notes (possibly including why you think this might be happening, or stuff you tried that did not work)

Contributed Code Changes Happen Through Pull Requests

Pull requests are the best way to propose changes to the code. We actively welcome your pull requests:

  1. Fork the repo and create your branch from master.

  2. If you have added code that should be tested, add tests with expected output (you can add these in the dev_tests directory).

  3. If you have changed APIs, or added new config file options, update the documentation.

  4. Ensure that dev_tests/test_notebooks.sh runs successfully.

  5. Issue the pull request!

Any contributions you make will be under the GPL v3 license

In short, when you submit code changes, your submissions are understood to be under the same license that covers the project. Feel free to get in touch if that is a concern.

Code of Conduct

Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

Our Standards

Examples of behaviour that contributes to creating a positive environment include:

  • Using welcoming and inclusive language

  • Being respectful of differing viewpoints and experiences

  • Gracefully accepting constructive criticism

  • Focusing on what is best for the community

  • Showing empathy towards other community members

Examples of unacceptable behaviour by participants include:

  • The use of sexualized language or imagery and unwelcome sexual attention or advances

  • Trolling, insulting/derogatory comments, and personal or political attacks

  • Public or private harassment

  • Publishing others’ private information, such as a physical or electronic address, without explicit permission

  • Other conduct which could reasonably be considered inappropriate in a professional setting

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behaviour and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behaviour.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviours that they deem inappropriate, threatening, offensive, or harmful.

Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported by contacting one of the maintainers. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.

Attribution

This Code of Conduct was adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4.

Parts of this document were adapted from the open-source contribution guidelines for monofonIC.