Lifelib
Python package of actuarial models, tools, examples and learning materials.
Install / Use
/learn @lifelib-dev/LifelibREADME
lifelib
Life actuarial models in Python
.. image:: https://img.shields.io/pypi/pyversions/lifelib :target: https://pypi.org/project/lifelib/
.. image:: https://img.shields.io/pypi/v/lifelib :target: https://pypi.org/project/lifelib/
.. image:: https://img.shields.io/pypi/l/lifelib :target: https://github.com/lifelib-dev/lifelib/blob/master/LICENSE.txt
What is lifelib?
lifelib is a collection of open-source life actuarial models written in Python. lifelib includes a variety of models, with sample scripts and Jupyter notebooks that demonstrate how to use the models.
Visit https://lifelib.io for more information!
What for?
lifelib models are highly versatile and transparent. You can customize lifelib models and utilize them in various practical areas, such as:
- Model validation / testing
- Pricing / profit testing
- Research / educational projects
- Valuation / cashflow projections
- Asset-liability modeling
- Risk and capital modeling
- Actuarial modernization to replace spreadsheet models
Why lifelib?
By effectively utilizing the models in lifelib, you can expect the following benefits from both model development and governance perspectives:
- A more efficient, transparent, and faster model development experience
- Model integration with the Python ecosystem (Pandas, Numpy, SciPy, etc.)
- Elimination of spreadsheet errors
- Improved version control and model governance
- Automated model testing
Some of the models in lifelib are built using modelx_, an open-source
Python package for building object-oriented models in Python.
By using lifelib, you can enjoy the following advantages:
- Models run fast!
- Formulas are easy to read
- Easy to trace formula dependency and errors
- Formulas are instantly evaluated
- Pandas and Numpy can be utilized
- Object-oriented
- Input from Excel and CSV files
- Documents can be integrated
- Formulas are saved in text files
.. _modelx: http://docs.modelx.io
License
Copyright (c) 2018-2025 lifelib Developers
lifelib is free software; you can redistribute it and/or
modify it under the terms of
MIT License <https://github.com/lifelib-dev/lifelib/blob/master/LICENSE.txt>_.
Contributions, productive comments, requests and feedback from the community are always welcome. Information on lifelib development is found at Github https://github.com/lifelib-dev/lifelib
Requirements
The lifelib package requires Python 3.6 or newer, and the following third-party packages.
- modelx
- networkx 2.0+
- Numpy
- Pandas
- OpenPyXL
lifelib consists of multiple libraries. Each library may have additional requirements in addition to the above.
Development
For developers contributing to lifelib, a Makefile is provided to simplify environment setup and common development tasks.
Quick start::
make init # Set up development environment (use Git Bash or WSL if you use a Windows machine)
source venv_lifelib/bin/activate # Activate virtual environment
make test # Run tests
Common commands::
make help # Show all available commands
make install-dev # Install with dev dependencies
make test # Run tests
make test-cov # Run tests with coverage report
make format # Auto-format code (black, isort)
make lint # Check code quality (flake8)
make clean # Clean generated files
For detailed information, see devnotes/MAKEFILE.md and devnotes/TESTING.md.
Contributors
-
2023
- @alexeybaran
- @fumitoh
- @MatthewCaseres
-
2018-2022
- @alexeybaran
- @fumitoh
- @GregorFabjan
- @lewisfogden
- @qnity
History
lifelib was first released on January 2nd, 2018.
