A CLI app for managing notes and finances using LLMs.
Project description
WhatsMyNote
An intelligent, fully conversational financial memory system. Control your lending, borrowing, expenses, income, and transfers through pure natural language via CLI.
View on PyPI
·
Report Bug
·
Request Feature
📑 Table of Contents
🌟 About The Project
Tracking finances shouldn't require complex spreadsheets or clunky UIs. WhatsMyNote brings the power of state-of-the-art Large Language Models (LLMs) directly to your terminal. Just type what happened naturally, and the AI will extract the financial intent, validate it, and persist it to a database securely.
🏗 Built With
- Python for core logic
- LangGraph & LangChain for robust stateful intent routing and HITL (Human-in-the-Loop) flows
- Pydantic for extraction validation
- SQLAlchemy & PostgreSQL for data persistence
- Groq LLMs (Llama 3) for lightning-fast, high-quality inference
- Supabase for secure Authentication
🚀 Getting Started
Prerequisites
You need Python 3.11 or higher installed on your machine.
Installation
The recommended way to install WhatsMyNote is directly from PyPI.
pip install whatsmynote
That's it!
💡 Usage
After installing, simply type whatsmynote in your terminal to start the conversational interface!
whatsmynote
On your very first run, it will automatically prompt you for your GROQ_API_KEY and securely save it. It will also help you set up your initial budgets and accounts.
Example Commands you can type:
- "I spent $15 on coffee today"
- "My friend John borrowed $50 from me"
- "Show me my expenses for this month"
- "Transfer $100 from Checking to Savings"
🛠 Local Development (For Contributors)
If you'd like to contribute to the codebase or run the backend completely locally, you'll need uv installed.
- Clone the repo:
git clone https://github.com/SarJ2004/WhatsMyNote.git
- Set up your environment variables:
cp .env.sample .env
Fill in your database and API keys in.env. - Install all dependencies (including backend AI and DB libraries):
uv sync - Run the app:
python whatsmynote/app/chat.py
🗺 Roadmap
See the open issues for a list of proposed features and known issues. See CHANGELOG.md for version history.
📄 License
Distributed under the MIT License. See LICENSE for more information.
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 whatsmynote-0.1.1.tar.gz.
File metadata
- Download URL: whatsmynote-0.1.1.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
689286ce5e618b65803ae03fb8fea57f597fb2d37c11d82b2c8cbf13b4404764
|
|
| MD5 |
3ffc35a82c6b9befb6447f9cc1a3d21e
|
|
| BLAKE2b-256 |
81f8e82a9d9298ab46d406c8cab2fe82e41d52bdecd33301348820c99a9950a1
|
Provenance
The following attestation bundles were made for whatsmynote-0.1.1.tar.gz:
Publisher:
release.yml on SarJ2004/WhatsMyNote
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
whatsmynote-0.1.1.tar.gz -
Subject digest:
689286ce5e618b65803ae03fb8fea57f597fb2d37c11d82b2c8cbf13b4404764 - Sigstore transparency entry: 2148628555
- Sigstore integration time:
-
Permalink:
SarJ2004/WhatsMyNote@a51c5b4723a320fc616dff26243337c9042bda25 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/SarJ2004
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a51c5b4723a320fc616dff26243337c9042bda25 -
Trigger Event:
push
-
Statement type:
File details
Details for the file whatsmynote-0.1.1-py3-none-any.whl.
File metadata
- Download URL: whatsmynote-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2874e521e390740422e90bbc2cbec784d63c2c48d0b19fce85c6c4c1599c2671
|
|
| MD5 |
cdbb110cb3b53f2b075fe3e9dd1034bd
|
|
| BLAKE2b-256 |
623bea8308f5a910e5072dcce77f75126f356caa17bfbb1cfb83bce917fe29b8
|
Provenance
The following attestation bundles were made for whatsmynote-0.1.1-py3-none-any.whl:
Publisher:
release.yml on SarJ2004/WhatsMyNote
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
whatsmynote-0.1.1-py3-none-any.whl -
Subject digest:
2874e521e390740422e90bbc2cbec784d63c2c48d0b19fce85c6c4c1599c2671 - Sigstore transparency entry: 2148628636
- Sigstore integration time:
-
Permalink:
SarJ2004/WhatsMyNote@a51c5b4723a320fc616dff26243337c9042bda25 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/SarJ2004
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a51c5b4723a320fc616dff26243337c9042bda25 -
Trigger Event:
push
-
Statement type: