A simple parser for hledger journal files.
Project description
Ledger Reader
A simple parser for hledger journal files. It's always fun to play with rply and use a simple grammar. PR's welcome :).
Install
pip install ledger-reader
Example usage
Read a journal
from ledger_reader import LedgerReader
reader = LedgerReader()
journal = reader.parse_file('bank.journal')
for entry in journal:
print(entry.date, entry.description)
for transaction in entry.transactions:
print(f'{transaction.account} {transaction.currency} {transaction.amount}')
print()
Append to a journal
from datetime import date
from ledger_reader import Entry, Transaction
entry = Entry(
date(2022, 3, 5),
'Cash Transfer',
transactions=[
Transaction('assets:bank:boa:checking', '$', -5000),
Transaction('assets:bank:boa:savings')
]
)
with open('bank.journal', 'a') as fp:
fp.write(f'\n{entry}')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ledger_reader-0.5.tar.gz
(4.4 kB
view hashes)
Built Distribution
Close
Hashes for ledger_reader-0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25cc749b55272bcdc3f7e44c1d4da6f85c30c673616a50f5cda53296b1e39230 |
|
MD5 | 17fc478101aa5f6ff02a8454c880bf2e |
|
BLAKE2b-256 | 444dd1e0e7b00989c621288e687d69bd218bcf4f396ed5ff552c20c11e430095 |