Finsim is a configurable simulation which can help individuals or groups of people estimate how long it will take them to reach a given Savings target. Simulation data is provided via a data.json file in the project's root directory, allowing the simulation to be executed with just a couple of lines of code. The simulation will initially and periodically prompt the user to enter a "financial strategy" for each person included in the simulation, to allow fine-grained control over monthly savings deposits and debt repayments.
The simulation relies on a JSON file to be supplied, which declares all data to be used by the program. It includes salaries, expenses, debts, saving accounts etc. Read the "Building Your Data File" guide for full details on how to prepare your file.
Coming soon ...
Setting up finsim is extremely simple.
-
Clone this repository.
-
Ensure
python3(>=3.6),venvandpip/pip3are installed. -
Create and activate a virtual environment:
python3 -m venv venvsource venv/bin/activate -
Install dependencies:
pip install -r requirements-dev.txt
To run the simulation simply navigate to the project's root directory and run:
`python3 main.py`
This project uses pytest and pytest-cov for unit testing. These packages will already be installed if the setup section has been followed.
To run the full suite of unit tests with coverage reporting, navigate to the project's root directory and run:
python3 -m pytest --cov-report term-missing --cov=finsim tests