Contributing
Thank you for your interest in contributing to GRU Dynamic Beta!
Ways to Contribute
Bug Reports: Submit issues for bugs you encounter
Feature Requests: Suggest new features or improvements
Documentation: Help improve or translate documentation
Code: Submit pull requests for bug fixes or new features
Examples: Share notebooks or use cases
Development Setup
Prerequisites
Python 3.9 or higher
Git
Installation
# Clone the repository
git clone https://github.com/aslmylmz/grubeta.git
cd grubeta
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"
Code Style
We follow these standards:
Black for code formatting (line length 88)
isort for import sorting
flake8 for linting
mypy for type checking
Google-style docstrings
Running Checks
# Format code
black grubeta tests
isort grubeta tests
# Lint
flake8 grubeta tests
# Type check
mypy grubeta
Testing
We use pytest for testing.
# Run all tests
pytest
# Run with coverage
pytest --cov=grubeta --cov-report=html
# Run specific test
pytest tests/test_core.py::test_fit_predict
Pull Request Process
Create a branch for your feature or fix
Make your changes with clear, atomic commits
Add tests for any new functionality
Update documentation if needed
Run all checks
Submit a pull request
License
By contributing, you agree that your contributions will be licensed under the MIT License.