Metadata-Version: 2.4
Name: Rangekeeper
Version: 0.8.59
Summary: A Python library assisting financial modelling in real estate asset & development planning, decision-making, cashflow forecasting, and scenario analysis.
Author-email: Daniel Fink <danfink@mit.edu>
License-Expression: MPL-2.0
Requires-Python: <3.13,>=3.10
Description-Content-Type: text/markdown
Requires-Dist: matplotlib>=3.10
Requires-Dist: pandas>=2.2
Requires-Dist: pint>=0.24
Requires-Dist: pyxirr>=0.9
Requires-Dist: scipy>=1.12
Requires-Dist: networkx>=3.1
Requires-Dist: py-moneyed>=3.0
Requires-Dist: tabulate>=0.9
Requires-Dist: specklepy>=2.21
Requires-Dist: numba>=0.61
Requires-Dist: multiprocess>=0.70.18
Requires-Dist: seaborn>=0.13
Requires-Dist: pyvis>=0.3.2
Requires-Dist: plotly>=6.0
Requires-Dist: aenum>=3.0
Requires-Dist: numpy-financial>=1.0
Requires-Dist: pytest>=8.0
Requires-Dist: black>=25.0

# Rangekeeper Source
This directory holds the source code for the Rangekeeper Library

## Installation
The library is offered through PyPI, and so its installation in other projects can be performed by:
`pip install rangekeeper`, `poetry add rangekeeper`, or `uv add rangekeeper`, depending on your virtual environment manager.

## Development
If you wish to contribute to its development, it is recommended to use [uv](https://docs.astral.sh/uv/) for 
environment and dependency management:

### Environment Setup

1. Install uv, if you haven't yet: <https://docs.astral.sh/uv/>
2. Clone this repo.
3. Create a virtual environment: `uv venv .venv`
4. Activate the virtual environment: `source .venv/bin/activate`
5. Install dependencies: `uv pip install -r <(uv pip compile pyproject.toml)`
6. Some tests require API access to [Speckle](https://speckle.systems/). It is recommended to use [Python-Dotenv](https://github.com/theskumar/python-dotenv), and add a `.env` file in the project's root directory with your `SPECKLE_TOKEN` environment variable.

### Publishing
1. First, remove any previously built packages: `rm -rf dist/`
2. Build the package: `uv build`
3. Then, publish it to PyPI with your `UV_PUBLISH_TOKEN` recorded in the .env file: `export $(grep -v '^#' .env | xargs) && uv publish --token $UV_PUBLISH_TOKEN`
