Contributing#
We welcome contributions to PubliPlots! This document provides guidelines for contributing to the project.
Getting Started#
Fork the repository on GitHub
Clone your fork locally:
git clone https://github.com/your-username/publiplots.git cd publiplots
Install development dependencies:
pip install -e ".[dev]"
Development Workflow#
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-nameMake your changes and add tests if applicable
Run the test suite:
pytestFormat your code:
black src/publiplots tests ruff check src/publiplots tests
Commit your changes with a clear commit message:
git commit -m "Add feature: description of your feature"Push to your fork:
git push origin feature/your-feature-nameCreate a pull request on GitHub
Code Style#
Follow PEP 8 style guidelines
Use Black for code formatting (line length: 88)
Use type hints where appropriate
Write clear, descriptive docstrings in NumPy/Google format
Testing#
Add tests for new features in the
tests/directoryEnsure all tests pass before submitting a pull request
Aim for high test coverage
Documentation#
Update documentation for any API changes
Add examples for new features
Use clear, concise language
Follow the existing documentation style
Reporting Issues#
When reporting issues, please include:
A clear description of the problem
Steps to reproduce the issue
Expected vs. actual behavior
Your environment (OS, Python version, PubliPlots version)
Minimal code example demonstrating the issue
Feature Requests#
We welcome feature requests! Please:
Check if the feature already exists or has been requested
Provide a clear use case for the feature
Describe the proposed API or interface
Be open to discussion and feedback
Code of Conduct#
Be respectful and inclusive
Provide constructive feedback
Focus on the issue, not the person
Be patient with new contributors
Questions?#
If you have questions about contributing, please:
Check the existing documentation
Search for similar issues on GitHub
Open a new issue with the “question” label
Thank you for contributing to PubliPlots!