Expense Tracker is an open-source expense tracking and visualization program developed using Streamlit. The data is supplied by a user specified Google Sheet. Visualizations generated in this app are created using Plotly.
A sample Google Sheet compatible with this application can be found here: Test Expense Tracker
The connection to Google Sheets is powered by gsheets-connection. Follow instructions in the repo to connect the desired Google Sheet.
This application supports tracking for expense trackers that involve multiple individuals. Transaction owners can be specified as shown in the example file: .streamlit/secrets.toml.
Dependencies can be installed using the following command:
$ pip install -r requirements.txt
Run the following command to start a local instance of this using the Streamlit engine:
$ streamlit run app.py
A sample secrets.toml file using all currently available configuration options has been supplied in the .streamlit
directory. You can learn more about Streamlit configuration options via the Streamlit docs.
Use the secrets.toml
to add the credentials for your own Google Sheet.
Follow the official Streamlit deployment guide to host this on the Streamlit Community Cloud.
A Docker image can also be built and deployed for users who prefer alternate hosting solutions. The official Docker installation guide can be found here. Run the following commands to build and run the Docker image.
$ docker build -t expense-tracker .
$ docker run -p 8501:8501 expense-tracker
Expense Tracker is open-source software released under the MIT License. You are free to modify and distribute the application under the terms of this license. See the LICENSE
file for more information.
Please note that this README file is subject to change as the application evolves. Refer to the latest version of this file in the repository for the most up-to-date information.