Thanks for your interest in contributing to Kelzer!
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/kelzer.git cd kelzer
- Python 3.9+
- A C++17 compatible compiler (GCC, Clang, or MSVC)
- pip
pip install -e .This compiles the C++ extension and installs it in editable mode.
Open an issue with:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Python version, OS, and compiler
Open an issue with:
- Clear description of the feature
- Use case and motivation
- Any implementation ideas
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes
- Build and verify locally:
pip install -e . - Test your changes in a Python shell
- Commit with clear messages
- Push and open a PR
- C++17 standard
- Keep functions small and focused
- Use
noexceptwhere appropriate - Validate all inputs from Python before computation
- Prefer
static inlinefor hot-path helpers
Use clear, descriptive commit messages:
fix: resolve rounding edge case at decimals=0feat: add batch calculation supportdocs: update installation instructionsrefactor: simplify input validation
kelzer/
├── cpp/
│ └── kelzer.cpp # C++ extension module
├── setup.py # Build configuration
├── pyproject.toml # Project metadata
└── requirements.txt # Build dependencies
Be respectful and constructive. We're all here to build something useful.
Open an issue or reach out at odin@odinglynn.com.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.