Preskočiť na hlavný obsah

Beancount v3: Čo je nové?

Publikované Naposledy aktualizované 4 min čítaniaMike ThriftMike Thrift
Beancount v3: Čo je nové?
Na tejto stránke

Aktuálne k 2026-09-15.

Beancount verzia 3, vydaná v polovici roka 2024, predstavuje významný architektonický vývoj pre populárny nástroj na účtovníctvo v čistom texte. Hoci zachováva spätnú kompatibilitu pre používateľské účtovné súbory, základná štruktúra a sprievodné nástroje prešli podstatnými zmenami. Tu je prehľad toho, čo je nové v Beancount v3 — a čo pribudlo v rámci línie 3.1–3.2 od prvého vydania tohto sprievodcu.

Pre syntax a prvé účtovné knihy si pozrite referenciu syntaxe Beancount a Začíname. Pre hostovaný CLI, ktorý zastrešuje check, query, import a reporty, si pozrite referenciu Beancount CLI.

Modulárnejšia a prehľadnejšia architektúra​

Najvýznamnejšou zmenou v Beancount v3 je prechod na modulárnejší ekosystém. Niekoľko kľúčových funkcií, ktoré boli predtým súčasťou jadra, bolo oddelených do samostatných, nezávislých projektov. To robí jadro Beancount štíhlejším a umožňuje sústredenejší vývoj jednotlivých komponentov.

Kľúčové komponenty, ktoré sú teraz samostatnými balíkmi, zahŕňajú:

  • beanquery: Výkonný nástroj na dotazy podobné SQL pre vaše účtovné súbory je teraz vo vlastnom balíku.
  • beangulp: Toto je nové miesto pre rámec importu údajov, ktorý nahrádza bývalý modul beancount.ingest.
  • beanprice: Špecializovaný nástroj na získavanie cien komodít a akcií.

Toto oddelenie znamená, že používatelia budú musieť nainštalovať tieto balíky okrem samotného beancount, aby si zachovali plnú funkčnosť, na ktorú boli zvyknutí vo verzii 2.

Zmeny v nástrojoch príkazového riadka a pracovných postupoch​

V súlade s novou modulárnou architektúrou došlo k niekoľkým pozoruhodným zmenám v nástrojoch príkazového riadka:

  • bean-report je preč: Tento nástroj bol odstránený. Používatelia sa teraz odporúčajú používať bean-query (z balíka beanquery) pre svoje potreby reportovania.
  • Nový pracovný postup importéra: Príkazy bean-extract a bean-identify boli odstránené z jadra. Nový prístup s beangulp je založený na skriptoch. Používatelia si teraz vytvoria vlastné Python skripty na spracovanie importu údajov z externých zdrojov, ako sú bankové výpisy.

Syntax a vylepšenia funkcií​

Zatiaľ čo základné účtovné princípy zostávajú rovnaké, Beancount v3 prináša niekoľko vítaných flexibilít do svojej syntaxe:

  • Flexibilnejšie kódy mien: Predchádzajúce obmedzenia na dĺžku a znaky pre názvy mien boli uvoľnené. Jednoznakové symboly mien sú teraz podporované.
  • Rozšírené transakčné príznaky: Používatelia teraz môžu použiť akékoľvek veľké písmeno od A po Z ako príznak pre transakcie, čo umožňuje jemnejšiu kategorizáciu.

Dôležité je, že tieto zmeny sú spätne kompatibilné, takže vaše existujúce účtovné súbory Beancount v2 budú fungovať bez akýchkoľvek úprav.

C++ prepis a výkon​

Jedným z dlhodobých cieľov Beancount bol prepis komponentov kritických pre výkon v C++. Počiatočné vydanie Beancount v3 nezahŕňalo C++ jadro a k 2026-09-15 to stále platí: publikovaná línia PyPI (až po 3.2.3) je stále modulárna Python v3 vetva. Historická práca na C++/Bazel žije na samostatnej vetve cpp a nie je súčasťou balíkov, ktoré používatelia inštalujú z PyPI. Každodenný výkon aktuálnych vydaní v3 je preto v rovnakej triede ako neskoré v2, s postupnými vylepšeniami parsovania a nástrojov, a nie rádovo väčším C++ prepisom.

Od napísania tohto článku (v3.1 → v3.2.x)​

Primárne zdroje: súbor projektu CHANGES, GitHub porovnávacie pohľady pre 3.1.0…3.2.0 a PyPI beancount (najnovšie 3.2.3 k 2026-09-15).

  • Línia 3.1.x — Pokračujúce balíkovanie a čistenie API po modulárnom rozdelení 3.0 (beanquery, beangulp, beanprice zostávajú samostatnými inštaláciami).
  • 3.2.0 (2025-09-14) — Release commit na beancount/beancount; pozoruhodná práca zameraná na používateľa v tomto okne zahŕňa viacsúborový bean-format, úpravy tolerancií/presnosti a údržbu wheel/CI (pozri porovnávací odkaz vyššie).
  • 3.2.1–3.2.3 (2026) — Nadväzujúce binárne a balíkovacie vydania (vrátane testovacieho pokrytia Python 3.14 a scaffolding dokumentácie, ktoré sú spomenuté v súhrne 3.2.1 na mailing liste). Nainštalujte pomocou pip install -U beancount a pri aktualizácii pridržte sprievodné balíky (beanquery, beangulp) na zodpovedajúcich hlavných verziách.

Fava: Fava 1.30 pridal podporu Beancount 3 (2024-12-29). Fava 1.30.13 (2026-05-19) vypustil podporu Beancount 2 a očakáva beangulp pre importéry. Aktuálna línia PyPI k 2026-09-15 je 1.30.16. Spárujte aktualizácie Fava s účtovnou knihou Beancount 3.

Migrácia z v2 na v3​

Pre väčšinu používateľov je migrácia z Beancount v2 na v3 relatívne priamočiara:

  1. Účtovné súbory: Pre vaše .beancount súbory nie sú potrebné žiadne zmeny.
  2. Inštalácia: Budete musieť nainštalovať nové, samostatné balíky, ako je beanquery a beangulp, pomocou pip.
  3. Importérske skripty: Ak máte vlastné importéry, budete ich musieť aktualizovať, aby používali nové API beangulp. To zahŕňa hlavne zmenu základnej triedy, z ktorej vaše importéry dedičia, a úpravu niektorých podpisov metód.
  4. Fava: Populárne webové rozhranie pre Beancount, Fava, bolo aktualizované, aby bolo kompatibilné s v3. Uistite sa, že máte najnovšiu verziu Fava pre plynulý zážitok.

V podstate je Beancount v3 základným vydaním, ktoré zefektívňuje architektúru projektu, robí ho modulárnejším a dlhodobo ľahšie udržiavateľným a rozšíriteľným. Hoci si vyžaduje určité úpravy používateľských pracovných postupov, najmä okolo importu údajov, vytvára základ pre budúci vývoj tohto výkonného účtovného nástroja.

Ďalšie čítanie​

Zdieľať tento článok

Sledovať túto tému

Zdroj: https://beancount.io/sk/blog/2025/06/06/whats-new-in-beancount-v3

Publikované: 6. júna 2025

Naposledy aktualizované: 15. septembra 2026