Python client for the Spliit expense sharing application API. Fork of guysoft/SpliitApi.
Project description
Spliit API Client
A Python client for interacting with the Spliit expense sharing application API.
This project is a fork of guysoft/SpliitApi, with additional features and improvements.
Installation
pip install spliit-api-client
Usage
from spliit.client import Spliit
from spliit.utils import SplitMode
# Initialize the client with your group ID
client = Spliit(group_id="your_group_id")
# Get group details
group = client.get_group()
print(f"Group: {group['name']}")
# Get participants
participants = client.get_participants()
print("Participants:", participants)
# Add an expense with even split (default)
expense = client.add_expense(
title="Dinner",
paid_by="participant_id", # ID of the person who paid
paid_for=[
("participant1_id", 1), # Share values are ignored in EVENLY mode
("participant2_id", 1),
],
amount=5000, # $50.00 in cents
notes="Great dinner!" # Optional notes
)
# Add an expense with percentage split
expense = client.add_expense(
title="Groceries",
paid_by="participant_id",
paid_for=[
("participant1_id", 70), # 70% of the total
("participant2_id", 30), # 30% of the total
],
amount=3000, # $30.00 in cents
split_mode=SplitMode.BY_PERCENTAGE
)
# Add an expense with exact amounts
expense = client.add_expense(
title="Movie tickets",
paid_by="participant_id",
paid_for=[
("participant1_id", 1500), # $15.00 in cents
("participant2_id", 1500), # $15.00 in cents
],
amount=3000, # $30.00 in cents
split_mode=SplitMode.BY_AMOUNT
)
# Get all expenses
expenses = client.get_expenses()
for expense in expenses:
print(f"\n{expense['title']} - {expense['amount']/100:.2f} {group['currency']}")
print(f"Paid by: {expense['paidBy']['name']}")
# Get specific expense details
expense_details = client.get_expense("expense_id")
# Remove an expense
client.remove_expense("expense_id")
Features
- Get group details and participants
- Add expenses with multiple split modes:
- Even split
- Split by percentage
- Split by exact amounts
- Split by shares
- Add notes to expenses
- Get expense details
- Remove expenses
- List all expenses in a group
Development
To set up for development:
# Clone the repository
git clone https://github.com/makp0/spliit-api-client.git
cd spliit-api-client
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/
License
MIT License
Project details
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 spliit_api_client-0.1.1.tar.gz.
File metadata
- Download URL: spliit_api_client-0.1.1.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
223d3712aae75c069ee23b1ffcd5592d57fb792d876d3042407c6a24e91a39b0
|
|
| MD5 |
db4122a08bad6ba1d7dc878bd7d0d068
|
|
| BLAKE2b-256 |
3448e34d8187cb6076e07e7a7c6703856bd0386aff5a79950e85e504fa129469
|
File details
Details for the file spliit_api_client-0.1.1-py3-none-any.whl.
File metadata
- Download URL: spliit_api_client-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5ccac43bb4608cb4f69876fa660f2124c421aff9624dd9f2d91b45d105ab81c
|
|
| MD5 |
04b0470a629b3495b156f96148a0d5db
|
|
| BLAKE2b-256 |
9a43e1516a23dd6a21871e92bcb64045a0f77fe6707216fcb1ea4d532cc33df6
|