Skip to main content

Life actuarial models in Python

https://img.shields.io/pypi/pyversions/lifelib https://img.shields.io/pypi/v/lifelib https://img.shields.io/pypi/l/lifelib

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

License

Copyright (c) 2018-2026 lifelib Developers

lifelib is free software; you can redistribute it and/or modify it under the terms of MIT License.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lifelib-0.14.0.tar.gz (20.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lifelib-0.14.0-py3-none-any.whl (20.6 MB view details)

Uploaded Python 3

File details

Details for the file lifelib-0.14.0.tar.gz.

File metadata

  • Download URL: lifelib-0.14.0.tar.gz
  • Upload date:
  • Size: 20.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for lifelib-0.14.0.tar.gz
Algorithm Hash digest
SHA256 af12a3e053e9f1b4eea3723b7362d6d3b3fb3c783a45dcb3503604905ad43672
MD5 05ea460a85b9a8d49cd966bc98b6d8cd
BLAKE2b-256 fa809f52ca98cd8b20a9f482eba947f9d7aa1a9414c60d07604af899588a912a

See more details on using hashes here.

File details

Details for the file lifelib-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: lifelib-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for lifelib-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64403a3c5258ce5721007df117b4ca1f10a130f2ec17793cbf4fea4d12837727
MD5 79e9ade1404a31ac454a66d8ecdc790a
BLAKE2b-256 754a67d8bba10dfb9f8465d853288a4c5323e558689bb015db15cec213970188

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page