Contributing#
Thank you for your interest in contributing to PyLEEM! This document provides guidelines for contributing to the project.
Getting Started#
Fork the repository on GitHub
Create a new branch for your changes:
git checkout -b feature/your-feature-name
Development Setup#
Install Development Dependencies#
Using pip:
pip install -e ".[test]"
Running Tests#
Run the full test suite with tox:
tox
Code Style Guidelines#
Python Style#
Follow PEP 8 style guide
Use Black for code formatting before submission
Maximum line length: 88 characters (Black default)
Documentation Style#
Add docstrings to all public classes, methods, and functions
Use reStructuredText format for docstrings
Include parameter types, return types, and examples where helpful
Contribute#
Bug Reports#
If you find a bug:
Check if it’s already reported in Issues
If not, create a new issue with:
Clear description of the bug
Steps to reproduce
Expected vs. actual behavior
Python version and package versions
Minimal code example if possible
Feature Requests#
For new features:
Open an issue first to discuss the feature
Explain the use case and benefits
Wait for maintainer feedback before implementing
Pull Requests#
Before Submitting#
[ ] Code follows project style guidelines
[ ] All tests pass (
pytest)[ ] New tests added for new functionality
[ ] Documentation updated (docstrings, README, etc.)
Submitting a PR#
Push your branch to your fork
Open a Pull Request against the
developbranchFill out the PR template
Link any related issues
Wait for review
PR Review Process#
Maintainers will review your code
Address any requested changes
Once approved, your PR will be merged
Branching Strategy#
main- Stable releases onlydevelop- Development branch (submit PRs here)feature/*- New featuresfix/*- Bug fixesdocs/*- Documentation updates
Questions?#
Open a Discussion
Check existing Issues
Code of Conduct#
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the maintainer.
License#
By contributing to PyLEEM, you agree that your contributions will be licensed under the BSD 3-Clause License. Additional Brookhaven National Laboratory, U.S. Department of Energy, and U.S. Government rights notices are provided in NOTICE.
Thank you for contributing to PyLEEM! Your contributions help make scientific software better for everyone.