Yet another formatter for beancount
Project description
autobean-format
Yet another formatter for beancount.
Features
- Deep cleanup.
- Normalizes all spacing.
- Full beancount syntax support (except out-of-line tags / links in
transaction).
- Currency / cost aligning.
- Works for
open,balance,priceand posting.
- Works for
- Entry sorting.
- Honors
pushtag/pushmeta. - Honors
timemeta (HH:MM/HH:MM:SS/ epoch seconds / epoch ms / epoch us). - Preserves comments.
- Preserves existing structure and ordering whenever possible.
- Honors
- Thousands separator normalization.
- Adds / removes / keeps thousands separators.
- Recursive formatting.
- Recursively formats included files.
- Honors glob includes.
- Flexible output.
- Prints results / prints diff / writes back to file.
- Typed and extensible.
- For example, the code for thousands separators is as simple as this.
Usage
pip install autobean-format
# format and print results
autobean-format foo.bean
# format and write back to file
autobean-format foo.bean --output-mode=inplace
# format and print the diff
autobean-format foo.bean --output-mode=diff
# sort entries by date and time
autobean-format foo.bean --sort
# recursively format all included files
autobean-format foo.bean --recursive
# add thousands separators to all numbers
autobean-format foo.bean --thousands-separator=add
# see more options
autobean-format -h
Examples
autobean-format foo.bean \
--indent=' ' \
--currency-column=30 \
--cost-column=35 \
--inline-comment-column=0 \
--thousands-separator=add \
--spaces-in-braces \
--sort \
--recursive \
--output-mode=inplace
| Before | After |
|---|---|
|
2000-01-01 open Assets:Foo USD,XXX
2000-01-01 * "foo" ^aa #bb
meta:123
Assets:Foo -1.23*4000USD ;X
Assets:Foo 1000 XXX {4.92 USD}
meta:456
include "price.*"
2000-01-02 balance Assets:Foo -4920USD
2000-01-02 balance Assets:Foo 1000XXX
2021-01-01 price EUR 1.21 USD
;inner comment
2021-01-04 price GBP 1.36 USD ; Y
;leading comment
2021-01-01 price JPY 0.009 USD
2020-01-01 price EUR 1.12 USD
2020-01-02 price GBP 1.32USD
2020-01-01 price JPY 0.009 USD
|
2000-01-01 open Assets:Foo USD, XXX
2000-01-01 * "foo" ^aa #bb
meta: 123
Assets:Foo -1.23 * 4,000 USD ; X
Assets:Foo 1,000 XXX { 4.92 USD }
meta: 456
include "price.*"
2000-01-02 balance Assets:Foo -4,920 USD
2000-01-02 balance Assets:Foo 1,000 XXX
2020-01-01 price EUR 1.12 USD
2020-01-01 price JPY 0.009 USD
2020-01-02 price GBP 1.32 USD
2021-01-01 price EUR 1.21 USD
; inner comment
; leading comment
2021-01-01 price JPY 0.009 USD
2021-01-04 price GBP 1.36 USD ; Y
|
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
autobean_format-0.1.8.tar.gz
(13.3 kB
view details)
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 autobean_format-0.1.8.tar.gz.
File metadata
- Download URL: autobean_format-0.1.8.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.26.9 CPython/3.12.3 Linux/6.17.0-1013-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
699cf055457b70666b1d648b60cece6ddae17bcc74992ed595df19eebb49cdc7
|
|
| MD5 |
aa050802b21d194794c7ef5a1802a669
|
|
| BLAKE2b-256 |
12c639224b0469a3d978cdaef4a7bef5af2ba12e385c5248f632e9166bd958ec
|
File details
Details for the file autobean_format-0.1.8-py3-none-any.whl.
File metadata
- Download URL: autobean_format-0.1.8-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.26.9 CPython/3.12.3 Linux/6.17.0-1013-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb0b818f1572a7c69e74da327ca441a911f0656a3ba365b7e3e5ee006cf4704a
|
|
| MD5 |
5f441aa81d05c80898965cb7f3bf561c
|
|
| BLAKE2b-256 |
61cdeca11eb518e791ab77dceeab92a63e551e4aa08c104cf472904478b37ddc
|