Contributing to ACTUNEO
We welcome contributions from the actuarial community! This guide will help you get started.
Getting Started
Fork the repository on GitHub
Clone your fork locally
Create a new branch for your feature
Make your changes
Run tests
Submit a pull request
Development Setup
# Clone your fork
git clone https://github.com/YOUR_USERNAME/ACTUNEO.git
cd ACTUNEO
# Create a 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 PEP 8 style guidelines. Format your code using:
black actuneo/
flake8 actuneo/
Running Tests
Before submitting a pull request, ensure all tests pass:
pytest
# With coverage
pytest --cov=actuneo --cov-report=html
Writing Tests
All new features should include tests. Place tests in the tests/ directory:
# tests/test_new_feature.py
import pytest
from actuneo.module import NewFeature
def test_new_feature():
nf = NewFeature()
assert nf.method() == expected_result
Documentation
Update documentation for any API changes:
Update docstrings in the code
Update relevant
.rstfiles indocs/Build documentation locally to verify:
cd docs
make html
# Open _build/html/index.html in your browser
Areas for Contribution
African Mortality Tables
We need contributions of:
Localized mortality data
Country-specific mortality tables
Mortality improvement models for African populations
Regulatory Frameworks
Help implement:
IPEC Zimbabwe reporting requirements
PASA compliance tools
SAM (Statutory Actuarial Memorandum) templates
Other African regulatory frameworks
Pension Systems
Develop models for:
Defined benefit schemes
Defined contribution schemes
Hybrid pension plans
Contribution schedules
IFRS 17
Implement:
GMM (General Measurement Model)
VFA (Variable Fee Approach)
PAA (Premium Allocation Approach)
CSM (Contractual Service Margin) calculations
Loss Reserving
Add methods for:
Chain-ladder technique
Bornhuetter-Ferguson method
Stochastic reserving models
Loss development triangles
Documentation
Improve API documentation
Add tutorials and examples
Create video tutorials
Translate documentation
Testing
Expand test coverage
Add integration tests
Create benchmark tests
Test on different platforms
Pull Request Process
Update the README.md with details of changes if applicable
Update documentation
Ensure tests pass
Update the CHANGELOG.md
The PR will be merged once reviewed by maintainers
Community Guidelines
Be respectful and inclusive
Provide constructive feedback
Help others learn and grow
Follow the Code of Conduct
Contact
GitHub Issues: https://github.com/ShannonT20/ACTUNEO/issues
Email: shannonsikadi@gmail.com
LinkedIn: https://www.linkedin.com/in/shannon-sikadi-9370b3196/
Thank you for contributing to ACTUNEO!