Before creating a bug report, please do at least a cursory check that the issue has not already been reported by searching the Issues section of this GitHub repository. If it has, feel free to add a comment to the existing issue rather than opening a new one.
Bugs are tracked as GitHub issues. After you've determined you've found a new bug, please open a new issue.
Alternatively, you may email the authors.
When reporting a bug, please explain the problem clearly and include enough detail for us to reproduce it. The following information is especially helpful:
- A clear and descriptive title that summarizes the issue.
- Exact steps needed to reproduce the problem.
- A minimal example (small dataset or short code snippet) that triggers the bug.
- The behavior you observed and how it differs from what you expected.
- Any error messages or traceback output.
When applicable, please also include:
- SEPARATE version (listed in the GUI and code header).
- Python version (e.g., 3.11.9).
- Operating system (e.g., Windows, macOS, Linux).
- How you installed SEPARATE (pip, source code, or standalone .exe/.app).
We welcome improvements, bug fixes, and new features.
If you would like to contribute code, please follow these steps:
- Open a GitHub issue or email the authors describing what you plan to add or change.
This helps ensure everyone is aligned before development begins. - Create a new branch for your changes (e.g.,
feature/new-metric,bugfix/edge-case). - After implementing the change, open a pull request against the
mainbranch. - In your pull request description:
- Summarize the problem your change addresses.
- Describe your solution.
- Reference the related issue number (e.g.,
Closes #12). - Include screenshots or example outputs if helpful.
If you plan to add substantial functionality:
- Open an issue or email the authors so we can discuss design, scope, and consistency.
- Follow existing coding style and folder organization.
- Include docstrings and comments describing the purpose of new functions.
- When possible, add unit tests or example usage demonstrating the new behavior.
SEPARATE aims for readable, maintainable Python code:
- Follow PEP 8 conventions.
- Use clear and descriptive function names.
- Add comments where logic may not be immediately obvious.