First of all, a massive thanks for contributing to SeisMIC! This is what keeps community codes alive! This document gives an overview of how to contribute to SeisMIC or its community. The document is largely oriented from its sibling in the obspy repository.
- To report a suspected bug or propose a feature addition, please open a new issue (please read and address what is pointed out in the issue template
- To directly propose changes, a bug fix or to add a new feature, please open a pull request (see beløw)
- Make sure you have a GitHub account
- Download and install git
- Read the git documentation
- Install a development version of SeisMIC
- Fork the repo.
- Make a new branch. For feature additions/changes base your new branch at
dev
. - Add a test for your change in
tests
. Only refactoring and documentation changes require no new tests. If you are adding functionality or fixing a bug, we need a test! - Make the test pass (call
pytest tests
in the repository or run individual tests using e.g. pytest) - Push to your fork and submit a pull request.
- set base branch to
seismic:dev
- set base branch to
- Wait for our review. We may suggest some changes or improvements or alternatives. Keep in mind that PR checklist items can be met after the pull request has been opened by adding more commits to the branch.
All the submitted pieces including potential data must be compatible with the EUPLv2 license and will be EUPLv2 licensed as soon as they are part of SeisMIC. Sending a pull request implies that you agree with this.
Additionally take care to not add big files. Even for tests we generally only accept files that are very small and at max on the order of a few kilobytes. When in doubt.. ask us in the PR.
If you want to ask a question about a SeisMIC aspect, please first of all..
If you want to post a problem/bug, to help us understand and resolve your issue please check that you have provided the information below:
- SeisMIC version, Python version and Platform (Windows, OSX, Linux ...)
- How did you install SeisMIC and Python (pip, anaconda, from source ...)
- If possible please supply a Short, Self Contained, Correct, Example that demonstrates the issue i.e a small piece of code which reproduces the issue and can be run with out any other (or as few as possible) external dependencies.
- If this is a regression (Used to work in an earlier version of SeisMIC), please note when it used to work.
You can also do a quick check whether..
-
the bug was already fixed in the current
dev
branch. -
if it was already reported and/or is maybe even being worked on already by checking open issues of the corresponding milestone
- Obspy's Style Guide
- Docs or it doesn't exist!
- Performance Tips: