Skip to content

Commit db02653

Browse files
committed
Adapt fork for new goal, rewrite README, cleanup docs
1 parent 649c1ba commit db02653

42 files changed

Lines changed: 107 additions & 16495 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 28 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
# Spendee
22

3-
This is a Python API wrapper for interfacing with a wonderful [Spendee app](https://www.spendee.com/).
3+
This is a Python client for interfacing with the wonderful [Spendee app](https://www.spendee.com/).
44

5-
# Warning
5+
The codebase was forked from [dionysio/spendee](https://github.com/dionysio/spendee) (many thanks! <3) in 2025, which was authored in 2019-2020 and archived since then.
66

7-
No guarantees are provided here. If you wanna use it, go for it, but do know that the original API is undocumented and while it works at the time of writing, it might stop at any time. I'm not associated with Spendee in any way.
7+
About Spendee:
8+
> Spendee.com is a budget and expense tracker application to manage personal finances. It allows users to connect bank accounts, e-wallets, and crypto wallets to get an aggregated overview of their financial situation. The app helps users organize and analyze spending through automatic transaction categorization, visually appealing graphs, and insights.
89
9-
# Installation
10+
# Warning
1011

11-
1. Be Python 3.7+ ready
12-
2. `pip install spendee`
13-
3. Enjoy.
12+
No guarantees are provided here. If you wanna use it, go for it, but do know that the original API is undocumented and while it works at the time of writing, it might stop at any time. I'm not associated with Spendee in any way.
1413

1514
## Development setup
1615

17-
To set up a development environment:
16+
To set up a development environment (only linux is documented):
1817

19-
1. Ensure you have Python 3.7+ installed.
20-
2. setup the virtual environment:
18+
1. Ensure you have Python 3.11+ installed.
19+
2. Setup the virtual environment:
2120
```bash
2221
# Create a virtual environment
2322
python3 -m venv .venv
@@ -28,90 +27,26 @@ To set up a development environment:
2827
# Install the package in editable (dev) mode
2928
pip install -e .
3029
```
30+
3. Set credentials in a newly created `.env` file.
31+
```bash
32+
echo 'EMAIL=<email>' > .env
33+
echo 'PASSWORD=<passwrod' >> .env
34+
```
35+
4. Adapt `run.py` for your experiment and execute.
36+
37+
## Backstory and roadmap
38+
39+
As I started to use the forked repo in 2025, the fetched data from the REST API was outdated by multiple days compared to what is visible on connected Bank accounts and the online webpage.
40+
41+
In the interim time since the original author implemented the REST API calls in 2020, Spendee most possibly migrated to another architecture. Based on browser debugging the new setup relies on Google firestore.
42+
43+
Authentication was extracted into a base class, to keep REST API functionalities if needed, and new firestore based one was started to benefit from the same functionalities available from the original application.
44+
45+
Next step will be to abstract away the most common operations.
46+
47+
After that groundwork, the plan is to implement an MCP server enabling AI agent collaboration to have smarter categorization and conversational exploration of spending habits.
3148

32-
## Future Improvements
33-
34-
- finish up all the endpoints [24/73]
35-
- make dates from the response datetime objects
36-
- release on pypi
37-
38-
## Endpoints
39-
40-
This is a list of all endpoints I've discovered. So far only a subset is implemented:
41-
42-
- [ ] v1/exchange-rate
43-
- [ ] v1/notification-count-unread
44-
- [ ] v1/notification-get-all
45-
- [ ] v1/notification-set
46-
- [ ] v1/user-check-email
47-
- [ ] v1/user-set-subscription
48-
- [ ] v1/wallet-accept-sharing
49-
- [ ] v1/wallet-get
50-
- [ ] v1/wallet-get-category
51-
- [ ] v1/wallet-get-users
52-
- [ ] v1/wallet-order-categories
53-
- [ ] v1.3/currencies
54-
- [ ] v1.3/delete-bank-login
55-
- [ ] v1.4/confirm-deletion
56-
- [ ] v1.4/confirm-email-change
57-
- [ ] v1.4/merge-categories
58-
- [ ] v1.4/recommendation-likelihood
59-
- [ ] v1.4/request-deletion
60-
- [ ] v1.4/request-email-change
61-
- [ ] v1.4/user-forgot-password
62-
- [ ] v1.4/user-get-profiles
63-
- [ ] v1.4/user-password-change-confirmation
64-
- [ ] v1.4/wallet-get-categories
65-
- [ ] v1.5/change-to-two-way-transfer
66-
- [ ] v1.5/delete-transfer-transaction
67-
- [ ] v1.5/link-two-transactions-into-transfer
68-
- [ ] v1.5/revert-transfer-to-regular-transaction
69-
- [ ] v1.5/transaction-suggestions
70-
- [ ] v1.5/transfer-funds
71-
- [ ] v1.5/update-transfer
72-
- [ ] v1.5/user-fb-connect
73-
- [ ] v1.5/user-google-connect
74-
- [ ] v1.5/viewed-dialogs
75-
- [ ] v1.5/wallet-create-transaction
76-
- [ ] v1.5/wallet-delete-transaction
77-
- [ ] v1.5/wallet-update-transaction
78-
- [ ] v1.6/get-transactions
79-
- [ ] v1.6/iframe-wallet-data?id=
80-
- [ ] v1.6/reorder-wallets
81-
- [ ] v1.6/wallet-get-transaction
82-
- [ ] v1.7/reorder-budgets
83-
- [ ] v1.8/create-transaction-template
84-
- [ ] v1.8/delete-transaction-template
85-
- [ ] v2/destroyCredentials
86-
- [X] v1.3/banks-get-all
87-
- [X] v1.3/category-image-ids
88-
- [X] v1.4/user-get-profile
89-
- [X] v1.4/user-login
90-
- [X] v1.4/user-logout
91-
- [X] v1.4/wallet-create-category
92-
- [X] v1.4/wallet-update-category
93-
- [X] v1.5/user-registration
94-
- [X] v1.5/user-update-profile
95-
- [X] v1.6/get-all-user-categories
96-
- [X] v1.6/user-currencies
97-
- [X] v1.7/create-budget
98-
- [X] v1.7/delete-budget
99-
- [X] v1.7/edit-budget
100-
- [X] v1.7/get-budgets
101-
- [X] v1.8/get-transaction-templates
102-
- [X] v1.8/wallet-get-transactions
103-
- [X] v1/wallet-create
104-
- [X] v1/wallet-delete
105-
- [X] v1/wallet-delete-category
106-
- [X] v1/wallet-get-all
107-
- [X] v1/wallet-invite-to-share
108-
- [X] v1/wallet-unshare-user
109-
- [X] v1/wallet-update
110-
- [X] v2/countries
111-
- [X] v2/logins/refresh
112-
- [X] v2/providers
113-
- [X] v2/url
114-
- [X] v2/visible
49+
Until that last milestone this project is not recommended for usage.
11550

11651
## Contributing
11752

docs/.buildinfo

Lines changed: 0 additions & 4 deletions
This file was deleted.

docs/.nojekyll

Whitespace-only changes.

docs/CNAME

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/_config.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/_sources/docstring/modules.rst.txt

Lines changed: 0 additions & 7 deletions
This file was deleted.

docs/_sources/docstring/spendee.rst.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

docs/_sources/index.rst.txt

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)