Great work Moritz! Thank you for sharing it broadly :-)

On Tue, Feb 24, 2026 at 8:21 AM 'Moritz Drexl' via Beancount <
[email protected]> wrote:

> Hi all,
>
> I'd like to share a project I'm working on: A from-scratch implementation
> of
> Beancount that is fast and independent of the Python ecosystem.
>
> https://github.com/themoritz/turbobean
>
> *Why?*
>
> I love Beancount, but as my journal has grown, processing takes a
> considerable
> amount of time. I came across the Beancount Vnext: Goals & Design
> <http://furius.ca/beancount/doc/v3> document
> which talks about how to address this with re-implementing the core in
> C++. And
> since Martin has so little time working on Beancount these days, I thought
> why
> not work on this evolved version of Beancount myself? I added some of my
> own
> design ideas to the mix and the result is TurboBean.
>
> *Philosophy*
>
> My vision is to have this very minimalist and fast core Beancount
> implementation that is not tied to any language or ecosystem. It has some
> essentials included (in particular the LSP) to get started quickly but then
> mainly just interfaces with other languages via Protobuf.
>
> - Single binary, zero dependencies. You download one small binary and it
> just
>   works — no Python environment, no pip, no virtualenvs.
> - Instant processing. Even large journals are parsed and processed in
>   milliseconds.
> - Plugins in Lua. Extend and customize processing without the overhead of
>   a full Python runtime.
> - Interop with other languages. Just use templating to generate .bean
> files.
>   Pipe the output of processed transactions into any other language via
>   Protobufs.
> - LSP and formatter built in. Every editor gets first-class support out of
> the
>   box — jump to account definitions, hover for balances, auto-completion
> and
>   renaming for accounts/tags/links.
> - Practical Web UI included. A built-in web server gives you basic journal,
>   balance sheet, and income statement views to get started quickly.
> Similar to
>   Fava.
>
> *Compatibility*
>
> TurboBean aims to be as compatible with existing .bean files as possible.
> Most
> files should work without changes. Where breaking changes exist, they stem
> from
> the redesigned booking system inspired by Vnext. The key changes are
> described
> in this document
> <https://github.com/themoritz/turbobean/blob/master/docs/inventories.md>.
>
> *Current Status*
>
> The project is at a point where I use the LSP for editing all my .bean
> files
> and the Web UI for basic reports.
>
> I plan to work next on Lua plugins, the formatter as well as Protobuf
> output.
>
> The project is definitely still exploratory so it would be great to have
> people
> play with it, and get feedback on design decisions since that's always the
> toughest part.
>
> Best,
> Moritz
>
> --
> 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 [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/beancount/a2b794df-0e57-4bbb-abe3-1df34db824e3n%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/a2b794df-0e57-4bbb-abe3-1df34db824e3n%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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhN%2BNogCss3rhxJDCjOw2Sf2tqLnTVcuHvLXpCHjd7RRMw%40mail.gmail.com.

Reply via email to