Thanks, Martin. This addresses some confusion that I have had about which "C++ Rewrite" features were included in to the released v3.
On Sunday, October 27, 2024 at 1:25:21 AM UTC-4 [email protected] wrote: > I haven't found any good Beancount v3 upgrade documentation, so I > start collecting some notes. Maybe this can be put into Google Docs > and improved upon. > > # Changes in v3 > > * Several tools were split into separate projects: > * [beanquery](https://github.com/beancount/beanquery/): lightweight SQL > query tool. > * [beangulp](https://github.com/beancount/beangulp): import framework for > beancount. This is the evolution of beancount's `beancount.ingest`. > * [beancount2ledger](https://github.com/beancount/beancount2ledger): > converter from beancount to ledger. > > * bean-report was deprecated in beancount v2 and has been removed in > beancount v3. > * [beanquery](https://github.com/beancount/beanquery/) is the preferred > way to query beancount data. > * [Fava](https://github.com/beancount/fava) is a web UI to interact with > beancount journals. > > * The beancount syntax has been made more flexible: > * Currencies > * Single-character currency names are now supported > * A leading slash is now allowed (e.g. `/FOO`) > * The limitation for currency names to be 24 characters long has been > dropped > * Flags > * Any of the A-Z characters are now valid flags > > # Notes about beancount tools > > ## beangulp > > * beangulp is compatible with beancount v2 and v3 > * The upgrade to beangulp requires a number of changes from beancount's > `beancount.ingest` framework: > * bean-extract no longer exists as a standalone script. You can [convert > your config file to a callable script]( > https://github.com/beancount/beangulp/issues/127), as demonstrated in > [import.py]( > https://github.com/beancount/beangulp/blob/master/examples/import.py). > Call with `--help` to see arguments. > * Importers have to migrate from the `beancount.ingest` namespace to the > `beangulp` namespace > * Look at [beangulp examples]( > https://github.com/beancount/beangulp/tree/master/examples) and > [docstests]( > https://github.com/beancount/beangulp/tree/master/beangulp/tests) for > some examples > * Optionally, importers can be moved from the old > `beangulp.ImporterProtocol` interface to the new `beangulp.Importer` > interface, which allows to implement some new features. > > ## beanquery > > * beanquery is compatible with beancount v2 and v3 > * beanquery has a lot of improvements over the older bean-query in > beancount v2. Documentation is being worked on (Daniele, is there something > to link to; or "look at source code" for now?) > * The [query history moved]( > https://github.com/beancount/beanquery/issues/207) from > `~/.bean-shell-history` to `~/.config/beanquery/history`. If you want to > preserve your query history, please move the file. > > ## Fava > > * Fava is not compatible with beancount v3. This is [currently being > worked on](https://github.com/beancount/fava/pull/1859). > > ## beancount2ledger > > * Currently not tested with v3. > > # Upgrade considerations > > * The beancount syntax has become more permissive rather than more > restrictive, so no changes to beancount journals should be required. > * beangulp and beanquery are compatible with both v2 and v3, so you can > migrate to these tools before switching to v3. > * There is no drop-in replacement for `bean-report`. Please migrate to > beanquery and the BQL query language. > > -- > Martin Michlmayr > https://www.cyrius.com/ > -- 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/f7291180-4a49-4383-83ea-b65181ac5c19n%40googlegroups.com.
