Older Releases

v0.0.19 (9 July 2021)

The prior version of lifelib was erroneously packaged. This version of lifelib is released to fix the packaging issue, and has the same contents as v0.0.16.

To update lifelib, execute the command:

>>> pip install lifelib --upgrade

v0.0.18 and v0.0.17 are discarded due to packaging error.

v0.0.16 (14 February 2021)


lifelib v0.0.16 was not packaged correctly. Use v0.0.19 instead.


modelx needs to be updated to v0.12.1 for this version of lifelib.

  • fastlife project is added. See the project page for details.

Related links

v0.0.15 (6 December 2020)


lifelib v0.0.15 was not packaged correctly. Use v0.0.19 instead.

This release includes models updated from the previous version. The updated models are:

The updated models produce the same results as the previous version’s. The updated models are much simpler than previous versions, thanks to 2 new enhancements introduced in modelx v0.9.0 and modelx v0.10.0. One of the enhancements is ExcelRange introduced in modelx v0.9.0. Input data read from the Excel input file is now stored as ExcelRange objects in the models. The other enhancement is the introduction of Relative Reference. Thanks to the introduction of the relative reference, Space formulas in the models got simpler and easier to understand. Read this blog post on modelx site to know more about how Relative Reference makes lifelib models simpler.

From this release, models are provided in the form of modelx models, which are folders containing files and data to construct models. Models are read into IPython sessions by modelx.read_model function. See updated Spyder Plugin for modelx section for how to read models.

Python scripts for building models are not provided from this release. All the example notebooks now read models using modelx.read_model.

Models from the previous release are also included in the projects. Those models are files named “model_0_0_14.zip”. The zip files can also be read by modelx.read_model directly, and no unzipping needed.

Related links

v0.0.14 (18 April 2020)

This release reflects changes for models to run on modelx v0.5.0.


Due to backward incompatible changed introduced in modelx v0.5.0, models based on lifelib versions prior to this release need manual changes in their source code. See commit 605802a and commit df083f6 for where and how to make changes in such models.

v0.0.13 (27 Dec 2019)


modelx needs to be updated to v0.1.0 for this version of lifelib.

  • smithwilson project is added. See the project page for details.

v0.0.12 (6 July 2019)


modelx needs to be updated to v0.0.22 for this version of lifelib.

This version fixes the trouble resulted from erroneous packaging in v0.0.11, and includes minor code improvements.

  • Fix the packaging error in v0.0.11 (Issue #6).

  • Update ifrs to include the loss component logic.

  • Fix the sign in AmortAcqCashflow().

  • Update build_input to make a better use of updated new_space_from_excel.

v0.0.11 (24 March 2019)


This version of lifelib should not be used, as the uploaded files in PyPI were not properly packaged and some older files were included by mistake. You will see an error when you try to run the default models. For more on th error and how to fix it, see this discussion on github.


modelx needs to be updated to v0.0.21 for this version of lifelib.

  • simplelife Space Overview notebook is added.

  • The input file is renamed from “input.xlsm” to “input.xlsx” and redundant data and macros are removed from the file to gain speed in reading.

  • Parameter module_ of Space’s import_module method is renamed to module.

  • Reserved name _self is renamed to _space.

v0.0.10 (2 February 2019)

  • Project solvency2 project is added. See the project page for details.

  • IFRS17 Simulation (Lapse Scenario) notebook is added.

  • Override formulas are included in nestedlife and ifrs17sim.

  • Update Project ifrs17sim model to pay out profits each period.

  • Fix miscalculation in IntAccumCF() in projection.

  • ifrs17sim and ifrs modules are modified to correct discounting and surrender in nested projections.

v0.0.9 (5 August 2018)


modelx needs to be updated to v0.0.13 for this version of lifelib.

Accordingly, Support for Python 3.4 and 3.5 is dropped. Now Python 3.6 or 3.7 is required.

  • Due to an update in modelx, updating existing cells with new_cells method of Space no longer works. Accordingly, new_cells in Actual vs Estimated and nestedlife cashflow examples are replaced with set_fomula method. Check this commit on github to see the exact changes.

  • Due to a spec change in modelx, dynamic spaces now inherit their parent spaces by default. Accordingly, simplelife.simplelife.build(), nestedlife.nestedlife.build() and ifrs17sim.ifrs17sim.build() are updated. Check this commit on github to see the exact changes.

v0.0.8 (17 June 2018)

  • Naming Convention is introduced, and most source functions and some space and modules are renamed to be consistent with the naming convention and to improve readability.

  • The source code of gallery examples is updated, and it’s shorter, cleaner and more readable, thanks to the introduction of space.cells[varnames].to_frame(args) expression.

v0.0.7 (3 June 2018)

  • Replace present value cells in projection with those in present_value.

  • Add cells to draw IFRS17 P&L in ifrs.

  • Add draw_waterfall function in draw_charts module.

  • Add a Jupyter notebook and gallery sample for IFRS waterfall chart.

  • Add a Jupyter notebook for CSM waterfal chart.

  • Update IFRS charts in the gallery of examples.

v0.0.6 (7 May 2018)

  • Product defined in the table in PolicyData tab in input.xlsm are now strings (TERM, WL, ENDW) instead of integer IDs (1, 2, 3).

  • The assumption data is updated so that the selected sample policies become profitable. The default scenario number is changed from 3 to 1.

  • Removed redundant local variables in cells in assumption.

  • Fixed a bug in the formula of ExpsMaintSA().

  • Input loading messages are now output to the standard error.

  • build_input() now saves models as their template names.

  • New project template Project ifrs17sim and its examples are added.

  • Insuranc in-force cells and present value cells are added in projection module.

  • new_space_from_module methods are replaced with import_module.