pYNAB
A minimalistic library designed to provide native access to YNAB data from Python.
Install
The simplest way is to install the latest version from PyPI index:
> pip install -U pynab
or install from the latest source:
git clone https://github.com/aldanor/pynab.git
cd pynab
python setup.py install
Examples
Load the shared YNAB budget:
>>> from ynab import YNAB
>>> ynab = YNAB('~/Dropbox/YNAB', 'MyBudget')
Get the list of accounts:
>>> ynab.accounts
[<Account: Cash>, <Account: Checking>]
Query the balance, the cleared balance and the reconciled balance for cash account:
>>> cash = ynab.accounts['Cash']
>>> cash.balance, cash.cleared_balance, cash.reconciled_balance
(15.38, 24.38, 41.88)
Find the total of all reconciled cash transactions starting 2 weeks ago:
>>> cash = ynab.accounts['Cash']
>>> sum(cash.transactions.since('2 weeks ago').filter('reconciled').amount)
-22.0
Find the average amount of all Starbucks purchases in 2015:
>>> starbucks = ynab.payees['Starbucks']
>>> starbucks.transactions.between('2015-01-01', '2015-12-31').amount.mean()
-27.31176470588235