Beancount v3: Що нового?
Beancount версії 3, випущений в середині 2024 року, знаменує собою значну архітектурну еволюцію для популярного інструменту обліку у текстовому форматі. Хоча він зберігає зворотну сумісність для файлів облікових книг користувачів, базова структура та супутні інструменти зазнали суттєвих змін. Ось огляд того, що нового в Beancount v3.
Більш модульна та оптимізована архітектура
Найбільш значною зміною в Beancount v3 є перехід до більш модульної екосистеми. Кілька ключових функціональних можливостей, які раніше були об'єднані з ядром, були виділені в окремі, незалежні проєкти. Це робить ядро Beancount більш компактним і дозволяє зосередитися на розробці окремих компонентів.
Ключові компоненти, які тепер є окремими пакетами, включають:
- beanquery: Потужний інструмент запитів, схожий на SQL, для ваших файлів облікових книг тепер знаходиться в окремому пакеті.
- beangulp: Це нове місце для фреймворку імпорту даних, що замінює колишній модуль
beancount.ingest
. - beanprice: Спеціалізований інструмент для отримання цін на товари та акції.
Ця сепарація означає, що користувачам потрібно буде встановлювати ці пакети на додаток до самого beancount
, щоб зберегти повну функціональність, до якої вони звикли у версії 2.
Зміни в інструментах командного рядка та робочих процесах
Відображаючи нову модульну архітектуру, є деякі помітні зміни в інструментах командного рядка:
bean-report
видалено: Цей інструмент було видалено. Користувачам тепер рекомендується використовуватиbean-query
(з пакетаbeanquery
) для своїх потреб у звітності.- Новий робочий процес імпортера: Команди
bean-extract
таbean-identify
були видалені з ядра. Новий підхід зbeangulp
базується на скриптах. Користувачі тепер створюватимуть в ласні скрипти Python для обробки імпорту даних із зовнішніх джерел, таких як банківські виписки.
Покращення синтаксису та функцій
Хоча основні принципи обліку залишаються незмінними, Beancount v3 вносить деяку бажану гнучкість у свій синтаксис:
- Більш гнучкі коди валют: Попередні обмеження на довжину та символи для назв валют були послаблені. Тепер підтримуються односимвольні позначення валют.
- Розширені прапорці транзакцій: Користувачі тепер можуть використовувати будь-яку велику літеру від A до Z як прапорець для транзакцій, що дозволяє більш детально категоризувати їх.
Важливо, що ці зміни є зворотно сумісними, тому ваші існуючі файли облікових книг Beancount v2 працюватимуть без будь-яких модифікацій.