[PATCH 0/7] gnu: Add fava.

  • Open
  • quality assurance status badge
Details
3 participants
  • dan
  • Ludovic Courtès
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
dan
Severity
normal
D
(address . guix-patches@gnu.org)
20221221130751.9303-1-i@dan.games
This patch series adds fava, a web interface for the double-entry bookkeeping
software Beancount. Note that the latest version of python-cheroot is 9.0.0,
but the latest release of fava depends on python-cheroot lower than 9. Thus,
we have to pack 8.6.0 at the moment.

dan (7):
gnu: Add python-markdown2.
gnu: Add python-portend.
gnu: Add python-inflect.
gnu: Add python-jaraco-text.
gnu: Add python-pypytools.
gnu: Add python-cheroot.
gnu: Add fava.

gnu/packages/finance.scm | 35 ++++++++++++
gnu/packages/python-web.scm | 29 ++++++++++
gnu/packages/python-xyz.scm | 106 ++++++++++++++++++++++++++++++++++++
3 files changed, 170 insertions(+)


base-commit: 7833acab0da02335941974608510c02e2d1d8069
--
2.38.1
D
[PATCH 1/7] gnu: Add python-markdown2.
(address . 60238@debbugs.gnu.org)
20221221131404.9862-1-i@dan.games
* gnu/packages/python-xyz.scm (python-markdown2): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ee25a2d655..731fc9bbfb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -132,6 +132,7 @@
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2022 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -11540,6 +11541,23 @@ (define-public python-markdown
markdown_py is also provided to convert Markdown files to HTML.")
(license license:bsd-3)))
+(define-public python-markdown2
+ (package
+ (name "python-markdown2")
+ (version "2.4.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "markdown2" version))
+ (sha256
+ (base32
+ "1c1bqkggr50274gs478cnzm8bljqifdnbg20zla1nn8n3sz4snzn"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/trentm/python-markdown2")
+ (synopsis "A fast and complete Python implementation of Markdown")
+ (description
+ "This package provides a fast and complete Python implementation of Markdown")
+ (license license:expat)))
+
(define-public python-mdx-include
(package
(name "python-mdx-include")
--
2.38.1
D
[PATCH 2/7] gnu: Add python-portend.
(address . 60238@debbugs.gnu.org)
20221221131404.9862-2-i@dan.games
* gnu/packages/python-xyz.scm (python-portend): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 731fc9bbfb..6cdf9026b0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8907,6 +8907,24 @@ (define-public python-jaraco-packaging
releases.")
(license license:expat)))
+(define-public python-portend
+ (package
+ (name "python-portend")
+ (version "3.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "portend" version))
+ (sha256
+ (base32
+ "1r14sb2rh7ncy0m28dqfb70cqxdd0y0idml7vzv27a2y0hb337i3"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-tempora))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/jaraco/portend")
+ (synopsis "TCP port monitoring and discovery")
+ (description "TCP port monitoring and discovery")
+ (license license:expat)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.38.1
D
[PATCH 3/7] gnu: Add python-inflect.
(address . 60238@debbugs.gnu.org)
20221221131404.9862-3-i@dan.games
* gnu/packages/python-xyz.scm (python-inflect): New variable.
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6cdf9026b0..f0e2ad4fc4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8925,6 +8925,27 @@ (define-public python-portend
(description "TCP port monitoring and discovery")
(license license:expat)))
+(define-public python-inflect
+ (package
+ (name "python-inflect")
+ (version "6.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "inflect" version))
+ (sha256
+ (base32
+ "16ihdnwck79db21g2pnqq8acc4n68k8agqgx36bghijh22qbr9pi"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-pydantic))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/jaraco/inflect")
+ (synopsis
+ "Correctly generate plurals, singular nouns, ordinals, indefinite articles; convert numbers to words")
+ (description
+ "Correctly generate plurals, singular nouns, ordinals, indefinite articles;
+convert numbers to words")
+ (license license:expat)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.38.1
D
[PATCH 4/7] gnu: Add python-jaraco-text.
(address . 60238@debbugs.gnu.org)
20221221131404.9862-4-i@dan.games
* gnu/packages/python-xyz.scm (python-jaraco-text): New variable.
---
gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f0e2ad4fc4..3a10d0a892 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8946,6 +8946,34 @@ (define-public python-inflect
convert numbers to words")
(license license:expat)))
+(define-public python-jaraco-text
+ (package
+ (name "python-jaraco-text")
+ (version "3.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jaraco.text" version))
+ (sha256
+ (base32
+ "0lc3ji0xgd35rbrr2yrp3ykhmgp2xjj1r04w2yl6w5zyjnaminqd"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-autocommand
+ python-importlib-resources
+ python-inflect
+ python-jaraco-context
+ python-jaraco-functools
+ python-more-itertools))
+ (native-inputs (list python-pathlib2
+ python-pytest))
+ (home-page "https://github.com/jaraco/jaraco.text")
+ (synopsis "Module for text manipulation")
+ (description
+ "This package provides handy routines for dealing with text,
+such as wrapping, substitution, trimming, stripping, prefix and suffix
+removal, line continuation, indentation, comment processing, identifier
+processing, values parsing, case insensitive comparison, and more.")
+ (license license:expat)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.38.1
D
[PATCH 5/7] gnu: Add python-pypytools.
(address . 60238@debbugs.gnu.org)
20221221131404.9862-5-i@dan.games
* gnu/packages/python-xyz.scm (python-pypytools): New variable.
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3a10d0a892..13627419be 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8974,6 +8974,27 @@ (define-public python-jaraco-text
processing, values parsing, case insensitive comparison, and more.")
(license license:expat)))
+(define-public python-pypytools
+ (package
+ (name "python-pypytools")
+ (version "0.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pypytools" version))
+ (sha256
+ (base32
+ "0ag5xyzagprji0m2pkqsfy8539s003mn41pl6plbmh6iwi9w0h51"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f)) ; no tests
+ (propagated-inputs (list python-py))
+ (home-page "https://github.com/antocuni/pypytools/")
+ (synopsis
+ "A collection of useful tools to use PyPy-specific features, with CPython fallbacks")
+ (description
+ "This package provides a collection of useful tools to use PyPy-specific
+features, with CPython fallbacks")
+ (license license:x11)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.38.1
D
[PATCH 6/7] gnu: Add python-cheroot.
(address . 60238@debbugs.gnu.org)
20221221131404.9862-6-i@dan.games
* gnu/packages/python-web.scm (python-cheroot): New variable.
---
gnu/packages/python-web.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 18c0b47b67..65b445688c 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -58,6 +58,7 @@
;;; Copyright © 2022 msimonin <matthieu.simonin@inria.fr>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
+;;; Copyright © 2022 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -979,6 +980,34 @@ (define-public python-httplib2
other HTTP libraries.")
(license license:expat)))
+(define-public python-cheroot
+ (package
+ (name "python-cheroot")
+ (version "8.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "cheroot" version))
+ (sha256
+ (base32
+ "09cfy2iwqs1j8k0mailcdzzjw0lkg4lyc6rddi45b5dcgipdysin"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-importlib-metadata python-jaraco-functools
+ python-more-itertools))
+ (native-inputs (list python-pytest
+ python-requests
+ python-requests-unixsocket
+ python-requests-toolbelt
+ python-pypytools
+ python-trustme
+ python-pyopenssl
+ python-jaraco-text
+ python-portend
+ python-setuptools-scm-git-archive))
+ (home-page "https://cheroot.cherrypy.dev")
+ (synopsis "Highly-optimized, pure-python HTTP server")
+ (description "Highly-optimized, pure-python HTTP server")
+ (license license:bsd-3)))
+
(define-public httpie
(package
(name "httpie")
--
2.38.1
D
[PATCH 7/7] gnu: Add fava.
(address . 60238@debbugs.gnu.org)
20221221131404.9862-7-i@dan.games
* gnu/packages/finance.scm (fava): New variable.
---
gnu/packages/finance.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index f9ee7acaa1..fea1bbcb28 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -32,6 +32,7 @@
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2022 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
+;;; Copyright © 2022 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1903,6 +1904,40 @@ (define-public beancount
generate a variety of reports from them, and provides a web interface.")
(license license:gpl2)))
+(define-public fava
+ (package
+ (name "fava")
+ (version "1.23.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fava" version))
+ (sha256
+ (base32
+ "0dbg29i3pdbv8m2n7qspafn5ja1glxf27xcdz8rdn3myjqh183sk"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list beancount
+ python-babel
+ python-beautifulsoup4
+ python-bottle
+ python-cheroot
+ python-click
+ python-flask
+ python-flask-babel
+ python-jinja2
+ python-magic
+ python-markdown2
+ python-ply
+ python-simplejson
+ python-werkzeug))
+ (native-inputs (list python-pytest
+ python-chardet
+ python-dateutil
+ python-setuptools-scm))
+ (home-page "https://beancount.github.io/fava/")
+ (synopsis "Web interface for the accounting tool Beancount.")
+ (description "Web interface for the accounting tool Beancount.")
+ (license license:expat)))
+
(define-public emacs-beancount
;; Note that upstream has not made any release since this project moved
;; into its own repository (it was originally part of beancount itself)
--
2.38.1
D
re: [PATCH 0/7] gnu: Add fava.
(address . 60238@debbugs.gnu.org)
875yd7c18e.fsf@dan.games
ping
--
dan
L
L
Ludovic Courtès wrote on 26 Jan 2023 11:02
Re: bug#60238: [PATCH 0/7] gnu: Add fava.
(name . dan)(address . i@dan.games)(address . 60238@debbugs.gnu.org)
874jsdr4to.fsf@gnu.org
Hi dan,

dan <i@dan.games> skribis:

Toggle quote (14 lines)
> This patch series adds fava, a web interface for the double-entry bookkeeping
> software Beancount. Note that the latest version of python-cheroot is 9.0.0,
> but the latest release of fava depends on python-cheroot lower than 9. Thus,
> we have to pack 8.6.0 at the moment.
>
> dan (7):
> gnu: Add python-markdown2.
> gnu: Add python-portend.
> gnu: Add python-inflect.
> gnu: Add python-jaraco-text.
> gnu: Add python-pypytools.
> gnu: Add python-cheroot.
> gnu: Add fava.

Overall this looks good to me and to

However, most synopses and descriptions would need to be improved a bit,
as per
(I know, it’s not fun, but it’s helpful for users.)

Could you give it a stab and send a v2?

Thanks in advance and sorry for the delay!

Ludo’.
D
[PATCH v2 0/7] gnu: Add fava.
(address . 60238@debbugs.gnu.org)(address . ludo@gnu.org)
20230202165421.15822-1-i@dan.games
The updated patch series is rebased on the master branch, and reworked many of
the package synopsis and description.

dan (7):
gnu: Add python-markdown2.
gnu: Add python-portend.
gnu: Add python-inflect.
gnu: Add python-jaraco-text.
gnu: Add python-pypytools.
gnu: Add python-cheroot.
gnu: Add fava.

gnu/packages/finance.scm | 36 ++++++++++++
gnu/packages/python-web.scm | 29 ++++++++++
gnu/packages/python-xyz.scm | 108 ++++++++++++++++++++++++++++++++++++
3 files changed, 173 insertions(+)


base-commit: f5446f721121c50a6e8fdf1e7285d861dfd180b8
--
2.39.1
D
[PATCH v2 1/7] gnu: Add python-markdown2.
(address . 60238@debbugs.gnu.org)
20230202165816.16772-1-i@dan.games
* gnu/packages/python-xyz.scm (python-markdown2): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b14c4ff0f3..bcf1d29727 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -132,6 +132,7 @@
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -11562,6 +11563,23 @@ (define-public python-markdown
markdown_py is also provided to convert Markdown files to HTML.")
(license license:bsd-3)))
+(define-public python-markdown2
+ (package
+ (name "python-markdown2")
+ (version "2.4.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "markdown2" version))
+ (sha256
+ (base32
+ "1c1bqkggr50274gs478cnzm8bljqifdnbg20zla1nn8n3sz4snzn"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/trentm/python-markdown2")
+ (synopsis "Fast and complete Python implementation of Markdown")
+ (description
+ "This package provides a fast and complete Python implementation of Markdown.")
+ (license license:expat)))
+
(define-public python-mdx-include
(package
(name "python-mdx-include")
--
2.39.1
D
[PATCH v2 2/7] gnu: Add python-portend.
(address . 60238@debbugs.gnu.org)
20230202165816.16772-2-i@dan.games
* gnu/packages/python-xyz.scm (python-portend): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bcf1d29727..8e291a1996 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8929,6 +8929,24 @@ (define-public python-jaraco-packaging
releases.")
(license license:expat)))
+(define-public python-portend
+ (package
+ (name "python-portend")
+ (version "3.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "portend" version))
+ (sha256
+ (base32
+ "1r14sb2rh7ncy0m28dqfb70cqxdd0y0idml7vzv27a2y0hb337i3"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-tempora))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/jaraco/portend")
+ (synopsis "TCP port monitoring and discovery utilities")
+ (description "Use portend to monitor TCP ports for bound or unbound states.")
+ (license license:expat)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.39.1
D
[PATCH v2 3/7] gnu: Add python-inflect.
(address . 60238@debbugs.gnu.org)
20230202165816.16772-3-i@dan.games
* gnu/packages/python-xyz.scm (python-inflect): New variable.
---
gnu/packages/python-xyz.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8e291a1996..c89fa1c412 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8944,7 +8944,30 @@ (define-public python-portend
(native-inputs (list python-pytest))
(home-page "https://github.com/jaraco/portend")
(synopsis "TCP port monitoring and discovery utilities")
- (description "Use portend to monitor TCP ports for bound or unbound states.")
+ (description
+ "Use portend to monitor TCP ports for bound or unbound states.")
+ (license license:expat)))
+
+(define-public python-inflect
+ (package
+ (name "python-inflect")
+ (version "6.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "inflect" version))
+ (sha256
+ (base32
+ "16ihdnwck79db21g2pnqq8acc4n68k8agqgx36bghijh22qbr9pi"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-pydantic))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/jaraco/inflect")
+ (synopsis
+ "Correctly generate plurals, singular nouns, ordinals, indefinite articles")
+ (description
+ "inflect.py provide plural inflections, singular noun inflections,
+\"a\"/\"an\" selection for English words, and manipulation of numbers as
+words.")
(license license:expat)))
(define-public python-simplegeneric
--
2.39.1
D
[PATCH v2 4/7] gnu: Add python-jaraco-text.
(address . 60238@debbugs.gnu.org)
20230202165816.16772-4-i@dan.games
* gnu/packages/python-xyz.scm (python-jaraco-text): New variable.
---
gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c89fa1c412..2b12b3392d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8970,6 +8970,34 @@ (define-public python-inflect
words.")
(license license:expat)))
+(define-public python-jaraco-text
+ (package
+ (name "python-jaraco-text")
+ (version "3.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jaraco.text" version))
+ (sha256
+ (base32
+ "0lc3ji0xgd35rbrr2yrp3ykhmgp2xjj1r04w2yl6w5zyjnaminqd"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-autocommand
+ python-importlib-resources
+ python-inflect
+ python-jaraco-context
+ python-jaraco-functools
+ python-more-itertools))
+ (native-inputs (list python-pathlib2
+ python-pytest))
+ (home-page "https://github.com/jaraco/jaraco.text")
+ (synopsis "Module for text manipulation")
+ (description
+ "This package provides handy routines for dealing with text,
+such as wrapping, substitution, trimming, stripping, prefix and suffix
+removal, line continuation, indentation, comment processing, identifier
+processing, values parsing, case insensitive comparison, and more.")
+ (license license:expat)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.39.1
D
[PATCH v2 5/7] gnu: Add python-pypytools.
(address . 60238@debbugs.gnu.org)
20230202165816.16772-5-i@dan.games
* gnu/packages/python-xyz.scm (python-pypytools): New variable.
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2b12b3392d..c5a96a0226 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8998,6 +8998,27 @@ (define-public python-jaraco-text
processing, values parsing, case insensitive comparison, and more.")
(license license:expat)))
+(define-public python-pypytools
+ (package
+ (name "python-pypytools")
+ (version "0.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pypytools" version))
+ (sha256
+ (base32
+ "0ag5xyzagprji0m2pkqsfy8539s003mn41pl6plbmh6iwi9w0h51"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f)) ; no tests
+ (propagated-inputs (list python-py))
+ (home-page "https://github.com/antocuni/pypytools/")
+ (synopsis
+ "Tools to use PyPy-specific features, with CPython fallbacks")
+ (description
+ "This package provides a collection of useful tools to use PyPy-specific
+features, with CPython fallbacks.")
+ (license license:x11)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.39.1
D
[PATCH v2 7/7] gnu: Add fava.
(address . 60238@debbugs.gnu.org)
20230202165816.16772-7-i@dan.games
* gnu/packages/finance.scm (fava): New variable.
---
gnu/packages/finance.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index c9c8e9b823..c5055f28c4 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2022 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
+;;; Copyright © 2023 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1942,6 +1943,41 @@ (define-public beancount
generate a variety of reports from them, and provides a web interface.")
(license license:gpl2)))
+(define-public fava
+ (package
+ (name "fava")
+ (version "1.23.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fava" version))
+ (sha256
+ (base32
+ "0dbg29i3pdbv8m2n7qspafn5ja1glxf27xcdz8rdn3myjqh183sk"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list beancount
+ python-babel
+ python-beautifulsoup4
+ python-bottle
+ python-cheroot
+ python-click
+ python-flask
+ python-flask-babel
+ python-jinja2
+ python-magic
+ python-markdown2
+ python-ply
+ python-simplejson
+ python-werkzeug))
+ (native-inputs (list python-pytest
+ python-chardet
+ python-dateutil
+ python-setuptools-scm))
+ (home-page "https://beancount.github.io/fava/")
+ (synopsis "Web interface for the accounting tool Beancount")
+ (description "Fava is a web interface for the double-entry bookkeeping
+software Beancount with a focus on features and usability.")
+ (license license:expat)))
+
(define-public emacs-beancount
;; Note that upstream has not made any release since this project moved
;; into its own repository (it was originally part of beancount itself)
--
2.39.1
D
[PATCH v2 6/7] gnu: Add python-cheroot.
(address . 60238@debbugs.gnu.org)
20230202165816.16772-6-i@dan.games
* gnu/packages/python-web.scm (python-cheroot): New variable.
---
gnu/packages/python-web.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index e7134677a9..bcdf3658ee 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -58,6 +58,7 @@
;;; Copyright © 2022 msimonin <matthieu.simonin@inria.fr>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
+;;; Copyright © 2023 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -980,6 +981,34 @@ (define-public python-httplib2
other HTTP libraries.")
(license license:expat)))
+(define-public python-cheroot
+ (package
+ (name "python-cheroot")
+ (version "8.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "cheroot" version))
+ (sha256
+ (base32
+ "09cfy2iwqs1j8k0mailcdzzjw0lkg4lyc6rddi45b5dcgipdysin"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-importlib-metadata python-jaraco-functools
+ python-more-itertools))
+ (native-inputs (list python-pytest
+ python-requests
+ python-requests-unixsocket
+ python-requests-toolbelt
+ python-pypytools
+ python-trustme
+ python-pyopenssl
+ python-jaraco-text
+ python-portend
+ python-setuptools-scm-git-archive))
+ (home-page "https://cheroot.cherrypy.dev")
+ (synopsis "Highly-optimized, pure-python HTTP server")
+ (description "Cheroot is a high-performance, pure-Python HTTP server.")
+ (license license:bsd-3)))
+
(define-public httpie
(package
(name "httpie")
--
2.39.1
S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH 0/7] gnu: Add fava.
(address . 60238@debbugs.gnu.org)
87y1aghjna.fsf@gmail.com
Hi dan,

I've completed the other round of review and applied some modification
to the patches. Some of them were already applied or available on the
time I check the series.

- New packages [4/4]
- [X] fava
- Update to 1.24.4, the highest compatible with available Flask in Guix.
- Fix tests
- Relax requirements
- [X] python-cheroot
- Update to 10.0.1
- Enable tests
- [X] python-markdown2
- Update to 2.4.13
- Enable tests
- Improve description
- [X] python-pypytools
- Related fixes to make series buildable [1/1]
- [X] beancount
- Adjust package style
- Enable tests
- Enable sanity check

Build and Lint are passed locally for V3, let's check what's QA would
tell us now ;-).

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmX3I0kACgkQdtcnv/Ys
0rVNmg//VreA3rG0PcI57b2lAMoKIt9HtaYerwaBn3ZhTfOr3Ov5DgA8n/S09l3T
Fc39ytgzQ7zdbovRrbbWwFhh7CAjUnC3ragYlNk353DyEKpUnAhdcMYugoJpUAPr
LjSyxAl+tkWS/5ku5Ai/XujAVA9eUn9PM0PQ/gtKldzaAzUT0iucYrzWSGw7qd73
2tpbCoStMCagMPBRn+w8TUNRBr/YVVprsGc+EiV3qUIQkcirkkZu8Ap33VXMo7F7
dFULKtbR88VKyGtRjCy5XhEgKN2i9ukiwYeHfSDr6bjEyOn7+TgPdYSc78D8BiF7
euI02OZzrMLsXGKYQaCkk5RzqD71zdokjZ7HRdkA28wi2qqdfL51q215GocN1v6Y
xJNmQGEDDebuRDHx62Ke5vVbdN+7aWQJE0I3IB6C+giEoiTItaB3/P3OPIsgCFMO
oO8lxOaEn3ag8f/yN2P05MHZrfyNHyMBkpWkTMV5CPkBDoRv+myQzTQEIAoCy79k
Kw1HD8tp8TDRsbo+xMSBDpdB6W335apYJJ0LWy6JAP0uaYdBmSbSIxXSt4F3nEAI
WnN2L/MUTp3hQq05YV1vhH+ZbdOxvf8c7uCVY98A9+6xFKlqO3Rr8pjoYdsVFmse
qndZA5C+yZu2PGoKhnyDKoRpOsxxc9eWqGpxomwPprueqSumg8U=
=usdQ
-----END PGP SIGNATURE-----

S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH v3 1/7] gnu: beancount: Adjust packages style.
(address . 60238@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
b02b0095f046dd634e8188b6ca45e208f5d6a126.1710694980.git.sharlatanus@gmail.com
* gnu/packages/finance.scm (beancount) [arguments]: Use G-expressions.
<#:phases>: Remove trailing #f from lambda.

Change-Id: I3a248c0b233b0f4d73dcc01f269cfb0a12fe06ff
---
gnu/packages/finance.scm | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)

Toggle diff (37 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 8c30bd1a30..01412b2f0a 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1976,17 +1976,17 @@ (define-public beancount
(patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ; Says test is missing, not sure why
- #:phases
- (modify-phases %standard-phases
- ;; Not importing the googleapis package for now
- (add-after 'unpack 'ignore-googleapis
- (lambda _
- (substitute* "setup.py"
- (("'google-api-python-client',") ""))
- #t))
- ;; No module named 'google_auth_oauthlib'
- (delete 'sanity-check))))
+ (list
+ #:tests? #f ; Says test is missing, not sure why
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Not importing the googleapis package for now
+ (add-after 'unpack 'ignore-googleapis
+ (lambda _
+ (substitute* "setup.py"
+ (("'google-api-python-client',") ""))))
+ ;; No module named 'google_auth_oauthlib'
+ (delete 'sanity-check))))
(inputs
(list python-beautifulsoup4
python-bottle

base-commit: d1b6d77aaef3c2a7ecc930de1cce2b9ac20203bf
--
2.41.0
S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH v3 2/7] gnu: beancount: Enable sanity check.
(address . 60238@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
b14b7aff499a59f1932af6d1700fb50651a763b4.1710694980.git.sharlatanus@gmail.com
Inputs was swapped to propagated-inputs to allow other packages
depending on `beancount` to pass sanity check.

* gnu/packages/finance.scm (beancount) [arguments] <#:phases>: Remove
'ignore-googleapis phase. Add 'relax-requirements phase, disabling check
for "pdfminer2".
[propagated-inputs]: Add python-google-api-client and
python-google-auth-oauthlib.

Change-Id: I15af4cd9cdbf5d522b9c5570e3ba60ad4d29e231
---
gnu/packages/finance.scm | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 01412b2f0a..b9be19df74 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1980,18 +1980,18 @@ (define-public beancount
#:tests? #f ; Says test is missing, not sure why
#:phases
#~(modify-phases %standard-phases
- ;; Not importing the googleapis package for now
- (add-after 'unpack 'ignore-googleapis
+ (add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
- (("'google-api-python-client',") ""))))
- ;; No module named 'google_auth_oauthlib'
- (delete 'sanity-check))))
- (inputs
+ ;; Use compatible fork, and do not fail during sanity check.
+ (("\"pdfminer2\",") "")))))))
+ (propagated-inputs
(list python-beautifulsoup4
python-bottle
python-chardet
python-dateutil
+ python-google-api-client
+ python-google-auth-oauthlib
python-lxml
python-magic
python-ply
--
2.41.0
S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH v3 3/7] gnu: beancount: Enable tests.
(address . 60238@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
22f333c6950d102e1e0fa34dc6f25e4518a2d469.1710694980.git.sharlatanus@gmail.com
* gnu/packages/finance.scm (beancount) [source]: Swap to git checkout,
containing all required test data files.
[build-system]: Swap to pyproject-build-system.
[arguments] <#:phases>: Add 'build-extensions phase.
[propagated-inputs]: python-auth2client.
[native-inputs]: Add gnupg and python-pdfminer-six.

Change-Id: Id0c725cae8cdc677ad0c3a0a75be6eea682eee05
---
gnu/packages/finance.scm | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)

Toggle diff (75 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index b9be19df74..c248f614ab 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -37,6 +37,7 @@
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2024 Saku Laesvuori <saku@laesvuori.fi>
+;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1969,22 +1970,40 @@ (define-public beancount
(version "2.3.6")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "beancount" version))
+ (method git-fetch) ; no test data files in PyPI archive
+ (uri (git-reference
+ (url "https://github.com/beancount/beancount")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0nj7sdh7wxc0hv8wxwqhw9v1zgx1sn4w92368ci2wzdmssz967w0"))
- (patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
- (build-system python-build-system)
+ (base32 "1slxsjw29cyr2kbirdpijhpqspk55k38rpmk3zc02pr1wll62qsv"))
+ (patches (search-patches "beancount-disable-googleapis-fonts.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Remove broken experiments.
+ (delete-file-recursively "experiments")
+ ;; Remove bundled packages.
+ (delete-file-recursively "third_party")))))
+ (build-system pyproject-build-system)
(arguments
(list
- #:tests? #f ; Says test is missing, not sure why
+ #:test-flags
+ #~(list "-k" (string-append
+ ;; ModuleNotFoundError: No module named 'pytest'
+ "not test_parse_stdin"
+ ;; AssertionError: 5 not greater than 20
+ " and not test_setup"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
;; Use compatible fork, and do not fail during sanity check.
- (("\"pdfminer2\",") "")))))))
+ (("\"pdfminer2\",") ""))))
+ (add-before 'check 'build-extensions
+ (lambda _
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
(propagated-inputs
(list python-beautifulsoup4
python-bottle
@@ -1994,10 +2013,11 @@ (define-public beancount
python-google-auth-oauthlib
python-lxml
python-magic
+ python-oauth2client
python-ply
python-requests))
(native-inputs
- (list python-pytest))
+ (list gnupg python-pdfminer-six python-pytest))
(home-page "https://beancount.github.io/")
(synopsis "Command-line double-entry accounting tool")
(description
--
2.41.0
S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH v3 5/7] gnu: Add python-pypytools.
(address . 60238@debbugs.gnu.org)
729107ade5e49205d48bee281fd28bf6f74bbc06.1710694980.git.sharlatanus@gmail.com
From: dan <i@dan.games>

* gnu/packages/python-xyz.scm (python-pypytools): New variable.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0e458fdadc..c4a5375839 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11433,6 +11433,27 @@ (define-public python-jaraco-text
processing, values parsing, case insensitive comparison, and more.")
(license license:expat)))
+(define-public python-pypytools
+ (package
+ (name "python-pypytools")
+ (version "0.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pypytools" version))
+ (sha256
+ (base32 "0ag5xyzagprji0m2pkqsfy8539s003mn41pl6plbmh6iwi9w0h51"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f)) ; no tests
+ (propagated-inputs (list python-py))
+ (home-page "https://github.com/antocuni/pypytools/")
+ (synopsis
+ "Tools to use PyPy-specific features, with CPython fallbacks")
+ (description
+ "This package provides a collection of useful tools to use PyPy-specific
+features, with CPython fallbacks.")
+ (license license:x11)))
+
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
--
2.41.0
S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH v3 6/7] gnu: Add python-cheroot.
(address . 60238@debbugs.gnu.org)
dc069c3e42345c9fa2094923cc45c25d7558d528.1710694980.git.sharlatanus@gmail.com
From: dan <i@dan.games>

* gnu/packages/python-web.scm (python-cheroot): New variable.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/python-web.scm | 57 +++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c2bdfc8da8..f14c0a7bde 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -58,6 +58,7 @@
;;; Copyright © 2022 msimonin <matthieu.simonin@inria.fr>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
+;;; Copyright © 2023 dan <i@dan.games>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
@@ -1279,6 +1280,62 @@ (define-public python-httplib2
other HTTP libraries.")
(license license:expat)))
+(define-public python-cheroot
+ (package
+ (name "python-cheroot")
+ (version "10.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cheroot" version))
+ (sha256
+ (base32
+ "1w0ind0dza9j1py56y23344piqkpyfmcm060qfrnk6gggy3s3i2r"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--cov=cheroot"
+ ;; Tests a flaky in parallel invocation.
+ ;; "--numprocesses=auto"
+ "--doctest-modules"
+ "--showlocals"
+ ;; Disable test requiring networking.
+ "-k" "not test_tls_client_auth")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "/tmp"
+ (apply invoke "pytest" "-v"
+ (append test-flags (list #$output))))))))))
+ (propagated-inputs
+ (list python-jaraco-functools
+ python-more-itertools
+ python-six))
+ (native-inputs
+ (list python-cryptography
+ python-jaraco-text
+ python-portend
+ python-pyopenssl
+ python-pypytools
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-xdist
+ python-requests
+ python-requests-toolbelt
+ python-requests-unixsocket
+ python-setuptools-scm
+ python-setuptools-scm-git-archive
+ python-trustme))
+ (home-page "https://cheroot.cherrypy.dev")
+ (synopsis "Highly-optimized, pure-python HTTP server")
+ (description
+ "Cheroot is a high-performance, pure-Python HTTP server.")
+ (license license:bsd-3)))
+
(define-public httpie
(package
(name "httpie")
--
2.41.0
S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH v3 7/7] gnu: Add fava.
(address . 60238@debbugs.gnu.org)
f9470adf91f20806483fa16d83501f7ae199df9d.1710694980.git.sharlatanus@gmail.com
From: dan <i@dan.games>

* gnu/packages/finance.scm (fava): New variable.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/finance.scm | 50 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index c248f614ab..e2d4b95a5e 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2022 Collin J. Doering <collin@rekahsoft.ca>
+;;; Copyright © 2023 dan <i@dan.games>
;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
;;; Copyright © 2023 Skylar Hill <stellarskylark@posteo.net>
@@ -2026,6 +2027,55 @@ (define-public beancount
generate a variety of reports from them, and provides a web interface.")
(license license:gpl2)))
+(define-public fava
+ (package
+ (name "fava")
+ ;; XXX: Newer version requires Flask > 2.2, which is not available in Guix
+ ;; yet.
+ (version "1.24.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fava" version))
+ (sha256
+ (base32 "1iwha9vx223iiyjqbixpz1lp8q766ikhi7xcap3pscjhldxlym4j"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.cfg"
+ ((">=8,<10") ">8"))))
+ ;; Tests write to $HOME.
+ ;; FileNotFoundError: [Errno 2] No such file or directory
+ (add-before 'check 'set-home
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (propagated-inputs
+ (list beancount
+ python-babel
+ python-cheroot
+ python-click
+ python-flask
+ python-flask-babel
+ python-jinja2
+ python-markdown2
+ python-ply
+ python-simplejson
+ python-werkzeug))
+ (native-inputs
+ (list python-pytest
+ python-chardet
+ python-dateutil
+ python-setuptools-scm))
+ (home-page "https://beancount.github.io/fava/")
+ (synopsis "Web interface for the accounting tool Beancount")
+ (description "Fava is a web interface for the double-entry bookkeeping
+software Beancount with a focus on features and usability.")
+ (license license:expat)))
+
(define-public emacs-beancount
;; Note that upstream has not made any release since this project moved
;; into its own repository (it was originally part of beancount itself)
--
2.41.0
S
S
Sharlatan Hellseher wrote 38 hours ago
[PATCH v3 4/7] gnu: Add python-markdown2.
(address . 60238@debbugs.gnu.org)
f9ef5307f3a7d0009c11be3f7ba89f483598df2b.1710694980.git.sharlatanus@gmail.com
From: dan <i@dan.games>

* gnu/packages/python-xyz.scm (python-markdown2): New variable.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7ed8c945be..0e458fdadc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -136,6 +136,7 @@
;;; Copyright © 2023 Amade Nemes <nemesamade@gmail.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
+;;; Copyright © 2023 dan <i@dan.games>
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de>
@@ -14245,6 +14246,41 @@ (define-public python-markdown
markdown_py is also provided to convert Markdown files to HTML.")
(license license:bsd-3)))
+(define-public python-markdown2
+ (package
+ (name "python-markdown2")
+ (version "2.4.13")
+ (source
+ (origin
+ (method git-fetch) ; no tests data in PyPi package
+ (uri (git-reference
+ (url "https://github.com/trentm/python-markdown2")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0m1wy8i4xmna5b97dvks8cfjmc1wid8pxmd2h82869d0ajva3r6a"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "test"
+ (invoke "python" "testall.py"))))))))
+ (native-inputs
+ (list python-pygments))
+ (home-page "https://github.com/trentm/python-markdown2")
+ (synopsis "Fast and complete Python implementation of Markdown")
+ (description
+ "This package provides a fast and complete Python implementation of
+Markdown. It was written to closely match the behaviour of the original
+Perl-implemented Markdown.pl. It also comes with a number of
+extensions (called @code{extras}) for things like syntax coloring, tables,
+header-ids.")
+ (license license:expat)))
+
(define-public python-mdx-include
(package
(name "python-mdx-include")
--
2.41.0
?