Also, users of Nix may want to track the outcome of this <https://github.com/SEIAROTg/autobean-format/issues/11>.
On Thu, 19 Jun 2025 at 17:43, Simon Guest <s...@cantab.net> wrote: > Ah, thanks for the pointers to autobean-format, that does indeed do what I > need. Should have asked first, heh heh. > > I will add a deprecation notice to my repo and a reference and > recommendation to that instead. > > cheers, > Simon > > On Wed, 18 Jun 2025 at 18:49, Red S <redstre...@gmail.com> wrote: > >> Same here. OP, wondering if you came across SEIAROTg's repo below >> <https://github.com/SEIAROTg/autobean-format#examples>, and if you did, >> if it didn't meet your needs? >> >> On Tuesday, June 17, 2025 at 6:11:37 AM UTC-7 Brian Lalor wrote: >> >> I’ve found autobean-format to be extremely useful. >> https://github.com/SEIAROTg/autobean-format#examples >> — >> Brian Lalor (he/him) >> bla...@bravo5.org >> >> On Jun 17, 2025, at 1:58 AM, Paul Walker <wpa...@gmail.com> wrote: >> >> Interesting! I had my own need for this recently, but with a requirement >> to "fix" currency columns/spacing. The script gets pretty short if you >> leverage some internal methods, but this also ends up stripping comments >> and filling in empty/inferred posting amounts. It looks like yours would >> preserve more context by more or less splitting on date. I ended up with >> this plus some messy logic to regextract my fava currency-column option: >> >> import sys >> from beancount.loader import load_file >> from beancount.parser import printer >> from beancount.scripts import format >> >> def main(file): >> entries, errors, options = load_file(file) >> >> entries_sorted = sorted(entries, key=lambda x: x.date) >> >> # Or if you don't need formatting, just >> printer.print_entries(entries_sorted, file=file) >> with open(file, 'w') as f: >> # Enumerate to get "last" entry to skip extra inter-directive >> newline >> for i, entry in enumerate(entries_sorted): >> printed = printer.format_entry(entry) >> # Align the printed entry with a currency column, set or grab >> from options (e.g. Fava) >> formatted = format.align_beancount(printed, >> currency_column=61) >> f.write(formatted) >> if i != len(entries_sorted) - 1: >> f.write('\n') >> >> if __name__ == "__main__": >> if len(sys.argv) != 2: >> print("Usage: python bean-sort.py <beancount-file>") >> sys.exit(1) >> main(sys.argv[1]) >> >> Thanks for sharing! >> Paul >> >> On Monday, June 16, 2025 at 9:56:26 PM UTC-4 Simon Guest wrote: >> >> And now the repo is public. 🤭 >> >> On Tue, 17 Jun 2025 at 12:23, Simon Guest <s...@cantab.net> wrote: >> >> I made a naive sorting utility for Beancount. I hunted for such a thing >> and failed to find one, which surprised me. >> >> Anyway, it was quicker to write a few lines of Python than keep wondering >> whether or why this hadn't been done before. >> >> Here in case it helps anyone else. >> >> https://github.com/tesujimath/bean-sort >> >> cheers, >> Simon >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Beancount" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beancount+...@googlegroups.com. >> To view this discussion visit >> https://groups.google.com/d/msgid/beancount/4dc9dbe6-31f8-4ed3-909b-9bf053b48b94n%40googlegroups.com >> <https://groups.google.com/d/msgid/beancount/4dc9dbe6-31f8-4ed3-909b-9bf053b48b94n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Beancount" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beancount+unsubscr...@googlegroups.com. >> To view this discussion visit >> https://groups.google.com/d/msgid/beancount/855e88f9-974d-40a6-ac35-74444fa0b41fn%40googlegroups.com >> <https://groups.google.com/d/msgid/beancount/855e88f9-974d-40a6-ac35-74444fa0b41fn%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to beancount+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/beancount/CAFhGSbu3WMmzYYUQZqqAVd%3DBuKv3z%2BdfBJm6SgTMAKDe-XLDbQ%40mail.gmail.com.