# Footings - A Model Building Library

![build](https://github.com/dustindall/footings-core/workflows/CI/badge.svg)
[![docs](https://readthedocs.org/projects/footings/badge/?version=master)](https://footings.readthedocs.io/en/master/?badge=latest)
[![license](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)


## What is it?

Footings is a model building Python library. No out-of-the box models are provided. Instead it is a framework library that provides key objects and functions to help users  construct custom models.

## Purpose

The footings library was developed with the intention of making it easier to develop actuarial models in Python. Actuarial models are a mix of data engineering and math/calculations. In addition, actuarial models are usually not defined by one calculation, but a series of calculations. So even though the original purpose is actuarial work, if the problem at hand sounds familiar, others might find this library useful.

## Principles

The Footings library was designed as framework library using the below principles -

- Models are a sequence of linked steps.
- Models should be easy to understand.
- Models need to have validation built in.
- Models need to be audited using a second source such as excel.
- Models should be self documenting.
- Models need to scale when needed.
- Models can be combined to form other models.

**These all become easier when you can leverage the amazing Python and wider open source ecosystems.**

## Installation

To install from PyPI run -

```
pip install footings
```

To install the latest version on github run -

```
pip install git+https://github.com/foootings/footings-core.git
```

## License
[BSD 3](LICENSE)


## Changelog

[File](./docs/changelog.md)
