Thank you for your interest in contributing to GLPlot! This document provides guidelines and instructions for contributing to the project.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title for the issue
- Describe the exact steps which reproduce the problem with as many details as possible
- Provide specific examples to demonstrate the steps (include code or data)
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior
- Explain which behavior you expected to see instead and why
- Include screenshots or animated GIFs if possible
- Include your environment details: Python version, operating system, GPU model, relevant library versions
When creating enhancement suggestions, please include:
- Use a clear and descriptive title for the suggestion
- Provide a step-by-step description of the suggested enhancement with as many details as possible
- Provide specific examples to demonstrate the steps
- Describe the current behavior and the proposed behavior
- Explain why this enhancement would be useful
- Fill in the required template
- Follow the Python code style guidelines (see below)
- Include appropriate test cases
- Update documentation to reflect your changes
- End all files with a newline
- Python 3.9 or later
- pip or conda
- Git
git clone https://github.com/AkarisDimitry/GLPlot.git
cd GLPlot
pip install -e ".[dev]"pytestFor coverage report:
pytest --cov=glplot --cov-report=html- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Limit lines to 100 characters where reasonable
- Use type hints for function signatures
- Write docstrings for public functions and classes
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Update relevant documentation when changing code
- Add docstrings to new functions and classes
- Include examples for new public APIs
- Update the README.md if your changes affect user-facing functionality
Contributors will be recognized in the project's documentation and repository metadata. Major contributors may be added to the project's authors list in pyproject.toml.
Feel free to open an issue with the question label or contact the maintainers at lombardi@fhi-berlin.mpg.de.
Thank you for contributing! 🎉