A Tkinter-based app to split expenses among people and export summaries to Excel.
Project description
SplitExpense
SplitExpense is a lightweight, user-friendly desktop application built with Python's Tkinter library. It simplifies the process of splitting group expenses, making it ideal for roommates, travel groups, or any situation where shared expenses occur. The app allows users to add participants, record expenses, and instantly calculate who owes whom. Additionally, it offers the capability to export detailed and summary reports to Excel for easy sharing and record-keeping.
✨ Features
- Add Participants and Expenses: Easily input the names of individuals involved and the expenses incurred.
- Assign Payments and Participants: Specify who paid for what and who participated in each expense.
- Calculate Balances: Automatically compute the net balance for each person, indicating how much they owe or are owed.
- Export to Excel: Generate detailed and summary reports in Excel format for transparency and record-keeping.
- Offline Functionality: Operates entirely offline, ensuring privacy and accessibility without the need for an internet connection.
📦 Installation
Ensure you have Python 3.7 or higher installed. You can install SplitExpense using pip:
pip install splitexpense
Alternatively, to install the latest version directly from the source:
git clone https://github.com/MuddyHope/split_expense.git
cd split_expense
pip install .
🚀 Usage
After installation, you can launch the application using the following command:
python -m splitexpense.app
This will open the SplitExpense GUI, where you can start managing your group expenses.
📝 Example
Imagine you're on a trip with friends, and various expenses are paid by different individuals. With SplitExpense, you can:
- Add all participants to the app.
- Record each expense, specifying the amount, payer, and participants involved.
- View the calculated balances to see who owes whom.
- Export the report to Excel for sharing with the group.
📁 Project Structure
split_expense/
├── splitexpense/
│ ├── app.py # Main application file with the Tkinter GUI
│ ├── __init__.py # Package initializer
├── setup.py # Setup script for packaging
├── pyproject.toml # Project metadata and dependencies
├── README.md # Project README
├── LICENSE # License file
🤝 Contributing
Contributions are welcome! If you'd like to improve SplitExpense, please fork the repository and submit a pull request. For major changes, open an issue first to discuss what you'd like to change.
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
📬 Contact
For questions or suggestions, feel free to open an issue on the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file splitexpense-0.1.2.tar.gz.
File metadata
- Download URL: splitexpense-0.1.2.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfe46eeff56e8d8377669205b35c5c30955e53e9c0e3db9b51508b806ea5db25
|
|
| MD5 |
07c69f74d58d45e289ce967441e22e51
|
|
| BLAKE2b-256 |
80c856ce4185c533a662846d8d1cd5801bc971d6ff277c9f774de8402384a031
|
File details
Details for the file splitexpense-0.1.2-py3-none-any.whl.
File metadata
- Download URL: splitexpense-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35604c74b72520092d7029aff2062d3acf4f6826d85cf6c508cb7d6b0adb2faa
|
|
| MD5 |
801db45e11f1867d1e5eb288e1eaad2f
|
|
| BLAKE2b-256 |
d8737946c3f6eec6200ac80468a7e58bad7b2f7ce0a295450a5200d540f7b589
|