Metadata-Version: 2.3
Name: lunchsimple
Version: 0.1.0
Summary: Sync Wealthsimple with Lunch Money.
Project-URL: Homepage, https://sr.ht/~colbyhub/lunchsimple/
Project-URL: Issues, https://todo.sr.ht/~colbyhub/lunchsimple
Author-email: Colby Hubscher <colby@colbyhub.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.12
Requires-Dist: keyring>=25.6.0
Requires-Dist: lunchable>=1.4.2
Requires-Dist: pre-commit>=4.0.1
Requires-Dist: ruff>=0.8.6
Requires-Dist: twine>=6.0.1
Requires-Dist: typer>=0.15.1
Requires-Dist: ws-api>=0.5.1
Description-Content-Type: text/markdown

# Lunchsimple
Lunchsimple syncs your Wealthsimple activity with your Lunch Money budget.

Note: this project uses unofficial Wealthsimple APIs, which may be revoked at any time.

Note 2: this project has only been tested on Linux, but should work on all platforms (let me know).

Note 3: I don't do any active trading with Wealthsimple, so I have no idea if buying and selling activity imports properly.

## Getting Started

### Prerequisites
To run Lunchsimple, you'll need:
- at least Python 3.12
- a functioning and accessible system keyring
  - should be true for most people, [read more](https://pypi.org/project/keyring/) about keyring access if you have issues

### Installing
You can install Lunchsimple from your terminal with:
```commandline
pip install lunchsimple
```

Alternatively, you can use `pipx` to run Lunchsimple without installing, like:
```commandline
pipx lunchsimple
```

### Logging In
You'll need to first log in with your Wealthsimple credentials:
```commandline
lunchsimple login
```

### Configuring
You must tell Lunchsimple which Wealthsimple accounts belong to which Lunch Money assets.

**It is recommended that you create a test budget to use with Lunchsimple the first time to ensure that you see the transactions that you expect.**

First, go to the [Accounts page](https://my.lunchmoney.app/accounts) in Lunch Money and create a new account for each Wealthsimple account you want to sync with.

Then, go to the [Developers page](https://my.lunchmoney.app/developers) in Lunch Money and generate an Access Token by clicking **Request New Access Token**.

Once you have the token, run the following:
```commandline
lunchsimple configure --access-token "your-access-token"
```

You can re-run `lunchsimple configure` anytime to re-configure (or switch budgets if using a test budget).

### Syncing
After logging in and configuring, you can finally push Wealthsimple activity into Lunch Money with:
```commandline
lunchsimple sync
```

By default, syncing starts from the beginning of the current month.

You can also pass a date to start syncing from:
```commandline
lunchsimple sync --start-date "2024-12-15"
```

## Roadmap
There's some things that would be nice to have:
- asset balance syncing
- automatic Lunch Money asset creation
- test coverage
- optimized/faster transaction syncing

## Contributing
Know Python? Want to improve Lunchsimple? Submit patches and let's chat.

## Credits
This project wouldn't be here without these awesome packages:
- WS-API https://github.com/gboudreau/ws-api-python
- Lunchable https://github.com/juftin/lunchable
- Typer https://github.com/fastapi/typer
