Salta al contingut principal

Una publicació etiquetades amb "arquitectura modular"

Veure totes les etiquetes

Beancount v3: Què hi ha de nou?

· 4 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

La versió 3 de Beancount, llançada a mitjans de 2024, marca una evolució arquitectònica significativa per a la popular eina de comptabilitat de text pla. Tot i que manté la compatibilitat amb versions anteriors per als fitxers de llibre major de l'usuari, l'estructura subjacent i les eines que l'acompanyen han experimentat canvis substancials. A continuació, es detalla què hi ha de nou a Beancount v3.

Una Arquitectura Més Modular i Optimitza

2025-06-06-whats-new-in-beancount-v3

El canvi més significatiu a Beancount v3 és el pas a un ecosistema més modular. Diverses funcionalitats clau que abans estaven incloses amb el nucli s'han separat en projectes independents. Això fa que el nucli de Beancount sigui més lleuger i permet un desenvolupament més enfocat en components individuals.

Els components clau que ara són paquets separats inclouen:

  • beanquery: La potent eina de consulta tipus SQL per als vostres fitxers de llibre major ara es troba en el seu propi paquet.
  • beangulp: Aquesta és la nova llar del framework d'importació de dades, que substitueix l'antic mòdul beancount.ingest.
  • beanprice: Una eina dedicada per obtenir preus de matèries primeres i accions.

Aquesta separació significa que els usuaris hauran d'instal·lar aquests paquets a més de beancount per mantenir tota la funcionalitat a la qual estaven acostumats a la versió 2.

Canvis a les Eines de Línia de Comandaments i Fluxos de Treball

Reflectint la nova arquitectura modular, hi ha alguns canvis notables a les eines de línia de comandaments:

  • bean-report ha desaparegut: Aquesta eina ha estat eliminada. Ara s'anima els usuaris a utilitzar bean-query (del paquet beanquery) per a les seves necessitats d'informes.
  • Nou Flux de Treball d'Importació: Les ordres bean-extract i bean-identify s'han eliminat del nucli. El nou enfocament amb beangulp es basa en scripts. Ara els usuaris crearan els seus propis scripts de Python per gestionar la importació de dades de fonts externes com extractes bancaris.

Millores de Sintaxi i Característiques

Tot i que els principis comptables bàsics segueixen sent els mateixos, Beancount v3 introdueix una flexibilitat benvinguda a la seva sintaxi:

  • Codis de Divisa Més Flexibles: Les restriccions anteriors sobre la longitud i els caràcters per als noms de divises s'han relaxat. Ara s'admeten símbols de divisa d'un sol caràcter.
  • Banderes de Transacció Ampliades: Els usuaris ara poden utilitzar qualsevol lletra majúscula de la A a la Z com a bandera per a les transaccions, permetent una categorització més granular.

És important destacar que aquests canvis són compatibles amb versions anteriors, de manera que els vostres fitxers de llibre major de Beancount v2 existents funcionaran sense cap modificació.

La Reescritura en C++ i el Rendiment

Un dels objectius a llarg termini per a Beancount ha estat la reescriptura dels seus components crítics de rendiment en C++. Tot i que aquest treball està en curs, la versió inicial de Beancount v3 no inclou el nucli basat en C++. Això significa que, per ara, el rendiment de la v3 és comparable al de la v2. El codi C++ roman en una branca de desenvolupament separada per a una futura integració.

Migració de la v2 a la v3

Per a la majoria d'usuaris, la migració de Beancount v2 a v3 és relativament senzilla:

  1. Fitxers de Llibre Major: No calen canvis per als vostres fitxers .beancount.
  2. Instal·lació: Haureu d'instal·lar els nous paquets separats com beanquery i beangulp utilitzant pip.
  3. Scripts d'Importació: Si teniu importadors personalitzats, haureu d'actualitzar-los per utilitzar la nova API de beangulp. Això implica principalment canviar la classe base de la qual hereten els vostres importadors i ajustar algunes signatures de mètodes.
  4. Fava: La popular interfície web per a Beancount, Fava, s'ha actualitzat per ser compatible amb la v3. Assegureu-vos de tenir la darrera versió de Fava per a una experiència fluida.

En essència, Beancount v3 és una versió fundacional que optimitza l'arquitectura del projecte, fent-la més modular i fàcil de mantenir i estendre a llarg termini. Tot i que requereix alguns ajustos als fluxos de treball dels usuaris, especialment pel que fa a la importació de dades, prepara el terreny per al futur desenvolupament d'aquesta potent eina de comptabilitat.