Metadata-Version: 2.1
Name: rangekeeper
Version: 0.2.1a0
Summary: A Python library assisting financial modelling in scenario planning, decision-making, cashflow forecasting, and the like
License: MPL-2.0
Author: Daniel Fink
Author-email: danfink@mit.edu
Requires-Python: >=3.9,<3.11
Classifier: License :: OSI Approved
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: Pint (>=0.20.1,<0.21.0)
Requires-Dist: PyYAML (>=6.0,<7.0)
Requires-Dist: aenum (>=3.1.11,<4.0.0)
Requires-Dist: docutils (==0.17.1)
Requires-Dist: jupyter (>=1.0.0,<2.0.0)
Requires-Dist: jupyter-book (>=0.15.1,<0.16.0)
Requires-Dist: jupyterlab (>=4.0.0,<5.0.0)
Requires-Dist: matplotlib (>=3.7.0,<4.0.0)
Requires-Dist: multiprocess (>=0.70.14,<0.71.0)
Requires-Dist: networkx (>=3.0,<4.0)
Requires-Dist: numba (>=0.57.0,<0.58.0)
Requires-Dist: pandas (>=2.0.1,<3.0.0)
Requires-Dist: py-linq (>=1.4.0,<2.0.0)
Requires-Dist: py-moneyed (>=3.0,<4.0)
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
Requires-Dist: pyxirr (>=0.9.0,<0.10.0)
Requires-Dist: scipy (>=1.10.0,<2.0.0)
Requires-Dist: seaborn (>=0.12.2,<0.13.0)
Requires-Dist: specklepy (>=2.12.0,<3.0.0)
Requires-Dist: sphinx-rtd-theme (>=1.2.0,<2.0.0)
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
Requires-Dist: tqdm (>=4.65.0,<5.0.0)
Description-Content-Type: text/markdown

<img src="https://github.com/daniel-fink/rangekeeper/blob/v0.2.0/walkthrough/resources/rangekeeper.jpg?raw=true" width="300">

# Rangekeeper
Rangekeeper is a library assisting financial modelling in real estate scenario planning, decision-making, cashflow forecasting, and the like.

It decomposes elements of the Discounted Cash Flow (DCF) Proforma modelling approach into recomposable code functions that can be wired together to form a full model. More elaborate and worked-through examples of these classes and functions can be found in the [walkthrough documentation](https://daniel-fink.github.io/rangekeeper/).

Development of the library follows the rigorous methodology established by Profs Geltner and de Neufville in their book [Flexibility and Real Estate Valuation under Uncertainty: A Practical Guide for Developers](https://doi.org/10.1002/9781119106470).

## Dependencies:

- Python >= 3.9 & < 3.11

- Poetry: <https://python-poetry.org/>, a package manager (although it is possible to roll your own; YMMV)

## Installation

1. Install poetry, if you haven't yet: <https://python-poetry.org/docs/master/#installing-with-the-official-installer>

2. Clone this repo.

3. Use a terminal to install poetry packages from the repo's directory: `<path_to_repo>$ poetry install`

4. Currently, this library is not yet available on Python Package Index (PyPI). If you wish to use this repo with other projects locally, you may install the Rangekeeper library via `<path_to_repo>$ poetry run pip install -e <path_to_rangekeeper_repo>`, replacing `<path_to_rangekeeper_repo>` with its location on your system.

