Metadata-Version: 2.3
Name: lunchsimple
Version: 0.2.1
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.10.0
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.

## Getting Started

### Prerequisites
To install Lunchsimple, you'll need:
- at least Python 3.12
- `pipx` (recommended)
- 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 using `pipx` with:
```commandline
pipx install lunchsimple
```

Alternatively, without `pipx` you can try to use plain 'ol `pip`:
```commandline
pip install lunchsimple
```

However, doing so may require you to run as `sudo` which isn't recommended.

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

Your login information is then stored locally on your system's keyring.

### 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
- better descriptions of trades

## 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
