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}')
Release files for ledger-reader 0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ledger_reader-0.7.tar.gz | 4.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ledger_reader-0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.4 kB
Release files / ledger_reader-0.7.tar.gz
| Download URL | ledger_reader-0.7.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d217ed0990e081ef3f04fdffbf9f41770dde538d339c28f725c3b15e1d8d1a0a
|
|
BLAKE2b-256 checksum How to use checksums |
fec1884646f4a3570bb05fa611f94b8ab320a1b29c7425294ae2b8a21409b0ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.7
|
Release files / ledger_reader-0.7-py3-none-any.whl
| Download URL | ledger_reader-0.7-py3-none-any.whl |
|---|---|
| Size | 5.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef34b51286577c52e03a581da2a9f82451a7c5750367223d164c8c56b616153c
|
|
BLAKE2b-256 checksum How to use checksums |
69ec9aca4cc90bbed02dba41253f03c0d7f6d0ed393b234fae87aa004c82941d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.7
|