We welcome contributions! Whether you are fixing a bug, adding a new physical model, or improving documentation, your help is appreciated.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/QuantumEigenSolver.git cd QuantumEigenSolver/Python - Install dependencies in editable mode with dev tools:
pip install -e ".[dev,all]" - Create a branch for your feature:
git checkout -b feature/my-new-feature
We aim for clean, readable, and "pythonic" code.
- Formatting: We use
blackfor code formatting. - Type Hints: We encourage using Python type hints for function arguments and return values.
- Docstrings: Please write clear docstrings (NumPy style preferred) for all public classes and functions.
Before submitting a Pull Request, please ensure all tests pass.
pytestIf you are adding a new feature, please add a corresponding test case in the tests/ directory.
If you change the API or add new features, please update the documentation in Python/docs/. You can build the docs locally to check your changes:
cd Python/docs
make html- Push your branch to GitHub.
- Open a Pull Request against the
mainbranch of the original repository. - Describe your changes clearly in the PR description.
- Wait for a review! We'll do our best to provide feedback quickly.
Thank you for helping make QES better!