guix_mirror_bot pushed a commit to branch master
in repository guix.

commit ee4ebdf86a32d4ce41fe7e15822fd4874833f502
Author: Sergey Trofimov <[email protected]>
AuthorDate: Mon May 5 09:01:04 2025 +0200

    gnu: Add beanquery.
    
    * gnu/packages/finance.scm (beanquery): New variable.
    
    Change-Id: Ic733750b5b71740992a145b1ee05fa67dbe1f837
    Reviwed-by: Ian Eure <[email protected]>
    Signed-off-by: Sharlatan Hellseher <[email protected]>
---
 gnu/packages/finance.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 055431043b..601676d8ae 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -2094,6 +2094,35 @@ define financial transaction records in a text file, 
read them in memory,
 generate a variety of reports from them, and provides a web interface.")
     (license license:gpl2)))
 
+(define-public beanquery
+  (package
+    (name "beanquery")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "beanquery" version))
+       (sha256
+        (base32 "0b6dhj9lcf3b347rsjb0k25qgsmqf9jnd0yizv3kad00745bawid"))
+       (modules '((guix build utils)))
+       (snippet #~(substitute* "pyproject.toml"
+                    (("tatsu-lts")
+                     "tatsu")))))
+    (build-system pyproject-build-system)
+    (propagated-inputs
+     (list beancount-3
+           python-click
+           python-dateutil
+           python-tatsu))
+    (native-inputs (list python-setuptools python-wheel python-pytest))
+    (home-page "https://github.com/beancount/beanquery";)
+    (synopsis "Interactive interpreter for the Beancount Query Language")
+    (description "A specialized SQL-like query client for Beancount ledger
+files.  It can run interactively or in batch mode.  By providing a specialized
+query engine that takes advantage of the structure of double-entry 
transactions,
+it can easily generate custom reports specific to accounting purposes.")
+    (license license:gpl2)))
+
 (define-public fava
   (package
     (name "fava")

Reply via email to