Преминете към основното съдържание

3 публикации маркиран с/със "отворен код"

Вижте всички етикети

Beancount v3: Какво е новото?

· 3 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Beancount версия 3, пусната в средата на 2024 г., отбелязва значителна архитектурна еволюция за популярния инструмент за счетоводство в обикновен текст. Въпреки че поддържа обратна съвместимост за потребителските файлове с регистри, основната структура и придружаващите инструменти са претърпели съществени промени. Ето преглед на новостите в Beancount v3.

По-модулна и оптимизирана архитектура

Какво е новото в 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 въвежда известна желана гъвкавост в своя синтаксис:

  • По-гъвкави кодове на валути: Предишните ограничения за дължината и символите на имената на валутите са облекчени. Вече се поддържат едносимволни валутни символи.
  • Разширени флагове за транзакции: Потребителите вече могат да използват всяка главна буква от А до Я като флаг за транзакции, което позволява по-детайлна категоризация.

Важно е, че тези промени са обратно съвместими, така че вашите съществуващи Beancount v2 файлове с регистри ще работят без никакви модификации.

Пренаписването на C++ и производителността

Една от дългосрочните цели за Beancount е пренаписването на неговите критични за производителността компоненти на C++. Докато тази работа продължава, първоначалната версия на Beancount v3 не включва ядрото, базирано на C++. Това означава, че засега производителността на v3 е сравнима с тази на v2. Кодът на C++ остава в отделен клон за разработка за бъдеща интеграция.

Миграция от v2 към v3

За повечето потребители миграцията от Beancount v2 към v3 е сравнително лесна:

  1. Файлове с регистри: Не са необходими промени за вашите .beancount файлове.
  2. Инсталация: Ще трябва да инсталирате новите, отделни пакети като beanquery и beangulp с помощта на pip.
  3. Скриптове за импортиране: Ако имате персонализирани импортери, ще трябва да ги актуализирате, за да използват новия API на beangulp. Това включва главно промяна на базовия клас, от който наследяват вашите импортери, и коригиране на някои сигнатури на методи.
  4. Fava: Популярният уеб интерфейс за Beancount, Fava, е актуализиран, за да бъде съвместим с v3. Уверете се, че разполагате с най-новата версия на Fava за безпроблемно изживяване.

По същество Beancount v3 е фундаментална версия, която оптимизира архитектурата на проекта, правейки го по-модулен и по-лесен за поддръжка и разширяване в дългосрочен план. Въпреки че изисква някои корекции в работните потоци на потребителите, особено по отношение на импортирането на данни, тя поставя основите за бъдещото развитие на този мощен счетоводен инструмент.

Надстройка на Fava до версия 1.19: Основни промени и подобрения

· Една минута четене
Mike Thrift
Mike Thrift
Marketing Manager

Надстроихме софтуера с отворен код Fava, лицензиран под MIT, до версия 1.19. Ето промените от последната ни актуализация:

  • v1.19 (2021-05-18)
    • мигриране от опциите conversion и interval към опцията default-page
    • добавяне на опция invert-income-liabilities-equity
    • надстройка до CodeMirror 6
    • добавя български превод
    • други малки подобрения и корекции на грешки
  • v1.18 (2021-01-16)
    • няколко малки подобрения и различни корекции на грешки.

Чувствате се развълнувани? Изпробвайте го сега на https://beancount.io/ledger/

2021-07-16-upgrade-fava-to-1-19

Имате въпроси? Ще бъдем на разположение за вас на https://t.me/beancount :)

Beancount Mobile: Нашият ангажимент към отворения код и поверителността

· Една минута четене
Mike Thrift
Mike Thrift
Marketing Manager

Поверителността е в основата на нашето ДНК, нашата култура и нашите ценности. Ние сме ангажирани да защитаваме вашите данни във всички наши системи.

И днес, с вълнение обявяваме отварянето на кода на Beancount mobile. Това означава, че кодът е публично достъпен и може да бъде преглеждан от хората. Това ниво на прозрачност гарантира както сигурността на приложението, така и вашето спокойствие относно това какво правим с вашите данни.

Отвореният код дава на нашите клиенти повече избори на пазара и по-добри решения по много начини. Ние изграждаме Beancount.io върху отлични проекти с отворен код и се надяваме да отворим кода на колкото се може повече модули от нашата система в бъдеще. А Beancount mobile е само началото на това пътешествие :)

2020-10-08-open-sourcing-beancount-mobile

Beancount.io Сърце Отворен Код