Preskočiť na hlavný obsah

Jeden príspevok označené s "software migration"

Zobraziť všetky značky

Beancount v3: Čo je nové?

· Čítanie na 3 minúty
Mike Thrift
Mike Thrift
Marketing Manager

Beancount verzia 3, vydaná v polovici roka 2024, predstavuje významnú architektonickú evolúciu populárneho nástroja na účtovníctvo v obyčajnom texte. Hoci si 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 noviniek v Beancount v3.

Modulárnejšia a zjednodušená architektúra

2025-06-06-čo-je-nové-v-beancount-v3

Najvýznamnejšou zmenou v Beancount v3 je prechod na modulárnejší ekosystém. Niekoľko kľúčových funkcionalít, ktoré boli predtým súčasťou jadra, bolo vyčlenených do samostatných, nezávislých projektov. Vďaka tomu je jadro Beancount štíhlejšie 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 dopytovanie podobný SQL pre vaše účtovné súbory je teraz vo vlastnom balíku.
  • beangulp: Toto je nový domov pre framework na import dát, nahrádzajúci bývalý modul beancount.ingest.
  • beanprice: Vyhradený nástroj na získavanie cien komodít a akcií.

Toto oddelenie znamená, že používatelia si budú musieť nainštalovať tieto balíky okrem samotného beancount, aby si zachovali plnú funkcionalitu, 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 významným zmenám v nástrojoch príkazového riadka:

  • bean-report bol odstránený: Tento nástroj bol odstránený. Používateľom sa teraz odporúča používať bean-query (z balíka beanquery) pre ich potreby reportingu.
  • 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 budú vytvárať vlastné Python skripty na spracovanie importu dát z externých zdrojov, ako sú bankové výpisy.

Vylepšenia syntaxe a funkcií

Hoci základné účtovné princípy zostávajú rovnaké, Beancount v3 prináša vítanú flexibilitu do svojej syntaxe:

  • Flexibilnejšie kódy mien: Predchádzajúce obmedzenia dĺžky a znakov pre názvy mien boli uvoľnené. Teraz sú podporované aj jednoznakovné symboly mien.
  • Rozšírené príznaky transakcií: Používatelia môžu teraz použiť akékoľvek veľké písmeno od A po Z ako príznak pre transakcie, čo umožňuje podrobnejš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.

Prepísanie v C++ a výkon

Jedným z dlhodobých cieľov pre Beancount bolo prepísanie jeho výkonovo kritických komponentov v C++. Hoci táto práca prebieha, počiatočné vydanie Beancount v3 neobsahuje jadro založené na C++. To znamená, že zatiaľ je výkon v3 porovnateľný s v2. Kód v C++ zostáva v samostatnej vývojovej vetve pre budúcu integráciu.

Migrácia z v2 na v3

Pre väčšinu používateľov je migrácia z Beancount v2 na v3 pomerne jednoduchá:

  1. Účtovné súbory: Pre vaše súbory .beancount nie sú potrebné žiadne zmeny.
  2. Inštalácia: Budete si musieť nainštalovať nové, samostatné balíky ako beanquery a beangulp pomocou pip.
  3. Skripty importéra: 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ši importéri dedia, 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 bezproblémový zážitok.

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