Minterface is comprised of two different python applications used for analysis of financial data from Intuit Mint.
- Minterface CLI is a lightweight command line interface for getting the different pieces of Mint data and writing each to a file in a directory structure that allows for daily updates.
- Minterface GUI is the main GUI dashboard for displaying reports that allow for advanced data analysis on the Mint data.
These tools are written in Python and the GUI uses the Dash UI framework by Plotly. In order to scrape the data from Mint, they use the MintAPI by mrooney.
The whole purpose of these applications is to add advanced analysis to the financial data retrieved from Mint.
The applications pull down the data from Mint and store it
time-stamped in the directory structure /history/<Date Stored>/
.
As the user uses the applications more, the changes in data from one session to the next begin to tell a story.
This allows Minterface
to start showing plots and other useful graphs of the data over time.
A) Mint data from mintapi:
- Accounts
- Budgets
- CreditScore
- NetWorth
- Transactions
B) Minterface data:
- Transactions per Paycheck = A file per paycheck containing a DataFrame of all of the transaction data during that pay period
- Spending per Category per Paycheck = A file per paycheck showing the amount spent per transaction category during that pay period
- Accounts Over Time = A line graph tracking account balances over time
- Credit Score Over Time = A line graph tracking credit score over time
- Spending Per Category Per Paycheck Over Time = A line graph with a line trace per category where the X values are the paycheck dates and the Y values are the amounts spent in that category for that pay period.
As of 03/11/19 nothing below here is implemented
- Spending per Category per Paycheck = A pie chart showing what percentage of spending that pay period went to which category
- Average Spending Per Category Per Paycheck = A pie graph showing the average percentage of spending that went to each category for all pay periods
- Spending Per Category Per Paycheck Over Time = A line graph tracking how much was spent per transaction category per paycheck over time
Minterface is the main GUI dashboard for displaying reports that allow for advanced data analysis on the Mint data.
Graphs:
- Account Balances Over Time
- Credit Score Over Time
Using Minterface GUI
- Run the application with
</path/to/python/> ./MinterfaceGUI.py
- The GUI should be visible at the url mentioned in the terminal
The Minterface CLI is a lightweight command line interface for getting the different pieces of Mint data and writing each to a file in a directory structure that allows for daily updates.
history/
<YYYY-MM-DD>/ (The date that the data was stored)
- Accounts.csv
- Budgets.csv
- CreditScore.csv
- NetWorth.csv
- Transactions.csv
SpendingPerPaycheck/
<YYYY-MM-DD>/ (The date of each paycheck)
- Categories.csv
- Transactions.csv
...
...
...
Using Minterface CLI
- Run the application with
</path/to/python/> ./MinterfaceCLI.py
- It will ask if credentials are saved to
credentials.txt
. If not, it will prompt for them. - While connecting to Mint it will open a browser session, login, and wait for the account data to refresh. Two factor authentication is supported but will require user intervention.
- The user will then be able to specify which pieces of data to retrieve and save
- Download the files or clone the repo
- Ensure python is installed by running
python3 --version
in terminal (Built with 3.6.5)
The application allows for the user to either type in their credentials every time or
load them from a file called credentials.txt
.
The format of that file is bare, with nothing but the username on the first line and the password on the second line.
MyFancyUsername
MySecretPassword