Contributing¶
We welcome contributions from the community! Whether you are fixing bugs, adding features, improving algorithms, or enhancing documentation, your help is appreciated.
How to Contribute¶
Reporting Issues¶
If you find a bug or have a feature request, please open an issue on GitHub. When reporting a bug, include:
- Your Python and NumPy versions
- A minimal reproducible example
- The expected and actual output
Submitting Pull Requests¶
- Fork the repository on GitHub
- Create a branch for your change
- Make your changes, adding tests where appropriate
- Run the test suite and ensure it passes
- Open a pull request with a clear description of your changes
Development Setup¶
git clone https://github.com/Ideogenesis-AI/Yuzuha.git
cd Yuzuha
# Install dev dependencies
pip install -e ".[dev]"
# Build the Rust extension
maturin develop --release
# Run tests
pytest
Running Tests¶
Yuzuha has two test suites:
The Python suite covers the full API including integration tests. The Rust suite covers internal algorithms like CG coefficient computation and CGSpec logic.
Code Style¶
- Rust: Follow
rustfmtformatting (cargo fmt) - Python: Follow PEP 8
Areas for Contribution¶
- Performance: Algorithmic improvements to CG basis construction or OM enumeration
- Testing: Additional edge cases or stress tests
- Documentation: Corrections, clarifications, or additional examples
- Feature requests: New utility functions, additional cache backends, etc.
Contact¶
Yuzuha is created and maintained by Changkai Zhang as part of the Ideogenesis-AI effort. If you have questions about contributing or are interested in collaboration, please open an issue or contact the maintainer directly.