[PATCH 01/18] gnu: python-django-taggit: Update to 2.1.0.

OpenSubmitted by Nicolas Graves.
Details
2 participants
  • Hartmut Goebel
  • Nicolas Graves
Owner
unassigned
Severity
normal
Merged with
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-1-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-taggit): Update to 2.1.0.
---
gnu/packages/django.scm | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index d62f4376b6..2abdb784c8 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -308,14 +308,13 @@ (define-public python-django-classy-tags
 (define-public python-django-taggit
   (package
     (name "python-django-taggit")
-    (version "1.3.0")
+    (version "2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "django-taggit" version))
        (sha256
-        (base32
-         "0bbkabbs77z229ps0800gxfhf75yagp4x4j5jzfysbac3zvkp0sa"))))
+        (base32 "0khqd189xlzs9r5ypjchmvp9isw7xql4f9vgv0l4pzlfsm51xx59"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -324,9 +323,9 @@ (define-public python-django-taggit
            (lambda _
              (invoke "python3" "-m" "django" "test" "--settings=tests.settings"))))))
     (propagated-inputs
-     (list python-django python-isort))
+     (list python-django python-isort python-sqlparse))
     (native-inputs
-     (list python-pytest python-mock))
+     (list python-django-rest-framework))
     (home-page
      "https://github.com/jazzband/django-taggit")
     (synopsis
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 04/18] gnu: Add python-django-treebeard.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-4-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-treebeard): New variable.
---
gnu/packages/django.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index fee4278708..0755b5d9fe 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -334,6 +334,39 @@ (define-public python-django-taggit
      "Django-taggit is a reusable Django application for simple tagging.")
     (license license:bsd-3)))
 
+(define-public python-django-treebeard
+  (package
+    (name "python-django-treebeard")
+    (version "4.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-treebeard" version))
+       (sha256
+        (base32 "1nk9b40cp0jsxr3qsb16mh9xr0z3cvf69yp5ahh70fajf8bh05c0"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (lambda _
+                   (setenv "PYTHONPATH"
+                           (string-append ".:" (getenv "GUIX_PYTHONPATH")))
+                   (setenv "DJANGO_SETTINGS_MODULE" "treebeard.tests.settings")
+                   (substitute* "setup.py" ((".*pythonpath.*") ""))
+                   (invoke "pytest" "-vv"))
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs (list python-django
+                             python-sqlparse))
+    (native-inputs (list python-wheel
+                         python-pytest-django))
+    (home-page "https://github.com/django-treebeard/django-treebeard/")
+    (synopsis "Efficient tree implementations for Django")
+    (description "This package provides an efficient tree implementations for Django.")
+    (license license:bsd-3)))
+
 (define-public python-easy-thumbnails
   (package
     (name "python-easy-thumbnails")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 07/18] gnu: Add python-willow.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-7-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-willow): New variable.
---
gnu/packages/python-xyz.scm | 53 +++++++++++++++++++++++++++----------
1 file changed, 39 insertions(+), 14 deletions(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7f67a93f4b..308ea79075 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7550,25 +7550,50 @@ (define-public python-pillow-simd
     (description "This package is a fork of Pillow which adds support for SIMD
 parallelism.")))
 
-(define-public python-imagecodecs
+(define-public python-willow
   (package
-    (name "python-imagecodecs")
-    (version "2021.3.31")
+    (name "python-willow")
+    (version "1.4.1")
     (source
       (origin
         (method url-fetch)
-        (uri (pypi-uri "imagecodecs" version))
+        (uri (pypi-uri "Willow" version))
         (sha256
-          (base32
-            "0q7pslb6wd56vbcq2mdxwsiha32mxjr7mgqqfbq5w42q601p9pi0"))
-        (modules '((guix build utils)))
-        (snippet
-         '(begin
-            ;; Unbundle 3rd party modules.
-            (delete-file-recursively "3rdparty")
-            ;; Delete pre-generated Cython files.
-            (for-each delete-file (find-files "imagecodecs" "_.*\\.c$"))
-            #t))))
+          (base32 "03ccxy5j3w5gsjz5nbnlya1drhga3gc2xxqbsi40pq1ihm9gzy0d"))))
+    (build-system python-build-system)
+    (inputs
+     (list freetype lcms libjpeg-turbo libtiff libwebp openjpeg zlib))
+    (home-page "https://github.com/wagtail/Willow")
+    (synopsis
+     "A wrapper that combines the functionality of multiple Python image
+libraries into one API")
+    (description
+     "Willow is a simple image library that combines the APIs of Pillow, Wand
+and OpenCV. It converts the image between the libraries when necessary. Willow
+currently has basic resize and crop operations, face and feature detection and
+animated GIF support. New operations and library integrations can also be
+easily implemented.")
+    (license license:bsd-3)))
+
+(define-public python-imagecodecs
+  (package
+    (name "python-imagecodecs")
+    (version "2021.3.31")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "imagecodecs" version))
+       (sha256
+         (base32
+          "0q7pslb6wd56vbcq2mdxwsiha32mxjr7mgqqfbq5w42q601p9pi0"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Unbundle 3rd party modules.
+           (delete-file-recursively "3rdparty")
+           ;; Delete pre-generated Cython files.
+           (for-each delete-file (find-files "imagecodecs" "_.*\\.c$"))
+           #t))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f ; Tests are disabled, because dependencies are missing.
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 06/18] gnu: Add python-flake8-blind-except.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-6-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-flake8-blind-except): New variable.
---
gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5d6a60c771..7f67a93f4b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11088,6 +11088,25 @@ (define-public python-flake8-3.8
      (list python-pycodestyle-2.6 python-entrypoints python-pyflakes-2.2
            python-mccabe))))
 
+(define-public python-flake8-blind-except
+  (package
+    (name "python-flake8-blind-except")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "flake8-blind-except" version))
+       (sha256
+        (base32 "05nxsxfzfhwsm8gys90228imm2qbnqnw5y8bfqyfngnbkmd5fnpj"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pycodestyle python-pep8))
+    (home-page "https://github.com/elijahandrews/flake8-blind-except")
+    (synopsis "A flake8 extension that checks for blind except: statements")
+    (description
+     "This package provides a flake8 extension that checks for blind except:
+statements.")
+    (license license:expat)))
+
 (define-public python-flake8-bugbear
   (package
     (name "python-flake8-bugbear")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 08/18] gnu: Add python-django-request.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-8-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-request): New variable.
---
gnu/packages/django.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 0755b5d9fe..92a9e580e9 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -240,6 +240,38 @@ (define-public python-django-localflavor
 that are useful for particular countries or cultures.")
     (license license:bsd-3)))
 
+(define-public python-django-request
+  (package
+    (name "python-django-request")
+    (version "1.5.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-request" version))
+       (sha256
+        (base32 "0g5vj7kl5jn03m8h9jd0fpmhhvaywrhw01fcphcah4vf0y40ly00"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python" "runtests.py")
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs
+     (list python-dateutil python-django python-six))
+    (native-inputs
+     (list python-sqlparse python-mock))
+    (home-page "https://django-request.readthedocs.io")
+    (synopsis
+     "statistics module for django")
+    (description
+     "django-request is a statistics module for django.  It stores
+requests in a database for admins to see, it can also be used to get
+statistics on who is online etc.")
+    (license license:expat)))
+
 (define-public python-django-simple-math-captcha
   (package
     (name "python-django-simple-math-captcha")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 09/18] gnu: Add python-django-environ.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-9-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-environ): New variable.
---
gnu/packages/django.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 92a9e580e9..63aa0a2db7 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -171,6 +171,25 @@ (define-public python-django-2.2
 ;; Use 3.2 LTS as the default until packages gain support for 4.x.
 (define-public python-django python-django-3.2)
 
+(define-public python-django-environ
+  (package
+    (name "python-django-environ")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-environ" version))
+       (sha256
+        (base32 "1jrllmr9awbhj68l8jkqj8lcc7c6l35khsa841mnb49qnh1cj2vg"))))
+    (build-system python-build-system)
+    (native-inputs (list python-coverage python-pytest))
+    (home-page "https://django-environ.readthedocs.io")
+    (synopsis
+     "Use environment variables to configure your Django application")
+    (description "A package that allows you to utilize 12factor inspired
+environment variables to configure your Django application.")
+    (license license:expat)))
+
 (define-public python-django-extensions
   (package
     (name "python-django-extensions")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 10/18] gnu: Add python-psycopg2-2.8.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-10-ngraves@ngraves.fr
* gnu/packages/databases.scm (python-psycopg2-2.8): New variable.
---
gnu/packages/databases.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)

Toggle diff (25 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index feedfe68e7..39ec5929eb 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3718,6 +3718,18 @@ (define-public python-psycopg2
 2.0.")
     (license license:lgpl3+)))
 
+(define-public python-psycopg2-2.8
+  (package
+    (inherit python-psycopg2)
+    (name "python-psycopg2-2.8")
+    (version "2.8.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "psycopg2" version))
+       (sha256
+        (base32 "0hzmk6b1hb5riqkljr5xics6p4zbvmis6knbczb7zhq7273zc8zv"))))))
+
 (define-public python-psycopg-pool
   (package
     (name "python-psycopg-pool")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 11/18] gnu: Add python-beautifulsoup4-4.8.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-11-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-beautifulsoup4-4.8): New variable.
---
gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 308ea79075..7ae0b00ffb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9942,6 +9942,37 @@ (define-public python2-beautifulsoup4
            "09gbd49mwz86k572r1231x2rdp82p42zlnw0bz9b9mfi58r9wwl4"))))
       (arguments `(#:python ,python-2)))))
 
+(define-public python-beautifulsoup4-4.8
+  (package
+    (inherit python-beautifulsoup4)
+    (name "python-beautifulsoup4")
+    (version "4.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri "https://www.crummy.com/software/BeautifulSoup/bs4/download/4.8/beautifulsoup4-4.8.2.tar.gz")
+       (sha256
+        (base32 "0aj6ll0zpmm32g3919xxclwincacdr6dymkscmvhha8wn1g85z85"))))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; The Python 2 source is the definitive source of beautifulsoup4. We
+         ;; must use this conversion script when building with Python 3. The
+         ;; conversion script also runs the tests.
+         ;; For more information, see the file 'convert-py3k' in the source
+         ;; distribution.
+         (add-before 'build 'convert-py3k
+           (lambda _
+             (substitute* "convert-py3k"
+               (("\\(cd py3k && python3 -m unittest discover -s bs4\\)") ""))
+             (invoke "./convert-py3k")
+             (delete-file-recursively "bs4")
+             (mkdir-p "bs4")
+             (copy-recursively "py3k/bs4" "bs4")
+             (substitute* "setup.py"
+               (("use_2to3 = True,") "")))))))))
+
 (define-public python-soupsieve
   (package
     (name "python-soupsieve")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 12/18] gnu: Add python-draftjs-exporter.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-12-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-draftjs-exporter): New variable.
---
gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7ae0b00ffb..40a591ca7d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8159,6 +8159,39 @@ (define-public python2-decorator
        (sha256
         (base32 "0308djallnh00v112y5b7nadl657ysmkp6vc8xn51d6yzc9zm7n3"))))))
 
+(define-public python-draftjs-exporter
+  (package
+    (name "python-draftjs-exporter")
+    (version "2.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri "https://github.com/springload/draftjs_exporter/archive/refs/tags/v2.1.7.tar.gz")
+       (sha256
+        (base32 "02fjmzagvnc146zqhc0xg6mybrkjg3pc7wbl4pmbq4gvmwjsml4c"))))
+    (build-system python-build-system)
+    (native-inputs (list python-beautifulsoup4-4.8
+                         python-html5lib
+                         python-lxml))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python" "-m" "unittest" "discover"
+                     ;; disabling two unexpected failing tests FIXME
+                     "-k" "not test_export_lxml_big_content_export"
+                     "-k" "not test_export_lxml_entity_with_data-*")
+                 (format #t "test suite not run~%")))))))
+    (home-page "https://github.com/springload/draftjs_exporter")
+    (synopsis
+     "Library to convert rich text from Draft.js raw ContentState to HTML")
+    (description
+     "This package provides a library to convert rich text from Draft.js raw
+ContentState to HTML.")
+    (license license:expat)))
+
 (define-public python-drmaa
   (package
     (name "python-drmaa")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 13/18] gnu: Add python-l18n.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-13-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-l18n): New variable.
---
gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 40a591ca7d..3eaca7bba1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1197,6 +1197,26 @@ (define-public python-shortuuid
 module and then similar looking characters are removed.")
     (license license:bsd-3)))
 
+(define-public python-l18n
+  (package
+    (name "python-l18n")
+    (version "2021.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "l18n" version))
+        (sha256
+          (base32 "0j6q89d1mk03snvj4v1600fbrxjlq59k5490rhsp3lbkss8fhmhr"))))
+    (build-system python-build-system)
+    (native-inputs (list python-wheel))
+    (propagated-inputs (list python-pytz python-six))
+    (home-page "https://github.com/tkhyn/l18n")
+    (synopsis "Internationalization for pytz timezones and territories")
+    (description
+     "This package provides internationalization for Python pytz
+timezones and territories.")
+    (license license:expat)))
+
 (define-public python-logwrap
   (package
     (name "python-logwrap")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 14/18] gnu: Add python-parsy.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-14-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-parsy): 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 3eaca7bba1..ba59d142a9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3141,6 +3141,24 @@ (define-public python-parse
 syntax.")
     (license license:x11)))
 
+(define-public python-parsy
+  (package
+    (name "python-parsy")
+    (version "1.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "parsy" version))
+        (sha256
+          (base32 "00pkd1irxp1c9mcg3x1k3ny8jl7w5jfxp45ky0qp9s90wmri6hbw"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pytest python-attrs))
+    (home-page "https://github.com/python-parsy/parsy")
+    (synopsis "easy-to-use parser combinators, for parsing in pure Python")
+    (description "This package provides easy-to-use parser combinators, for
+parsing in pure Python.")
+    (license license:expat)))
+
 (define-public python-polib
   (package
     (name "python-polib")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 15/18] gnu: Add python-anyascii.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-15-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-anyascii): New variable.
---
gnu/packages/python-xyz.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ba59d142a9..6be4310371 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -251,6 +251,23 @@ (define-module (gnu packages python-xyz)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public python-anyascii
+  (package
+    (name "python-anyascii")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "anyascii" version))
+        (sha256
+          (base32 "1xhibjqqn97pq90dsrqks265rr550napaz7d3v4qdqh6h9r5gpyy"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/anyascii/anyascii")
+    (synopsis "Unicode to ASCII transliteration")
+    (description "This package provides Unicode to ASCII transliteration for
+Python.")
+    (license license:expat)))
+
 (define-public python-xmldiff
   (package
     (name "python-xmldiff")
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 16/18] gnu: Add python-telepath.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-16-ngraves@ngraves.fr
* gnu/packages/django.scm (python-telepath): New variable.
---
gnu/packages/django.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 63aa0a2db7..46891fd044 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1456,3 +1456,32 @@ (define-public python-django-svg-image-form-field
 models that use Django's standard @code{ImageField}, in addition to the
 image files already supported by it.")
     (license license:expat)))
+
+(define-public python-telepath
+  (package
+    (name "python-telepath")
+    (version "0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "telepath" version))
+        (sha256
+          (base32 "0k7q5dqgvcwnslb82ah0g6p772jzjmb6fd4wcdc8r46ibsjg4k7g"))))
+    (build-system python-build-system)
+    (native-inputs (list python-django python-pytest-django))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (lambda _
+                   (setenv "DJANGO_SETTINGS_MODULE" "telepath.test_settings")
+                   (invoke "django-admin" "test" "--pythonpath=."))
+                 (format #t "test suite not run~%")))))))
+    (home-page "https://github.com/wagtail/telepath")
+    (synopsis "A library for exchanging data between Python and JavaScript")
+    (description
+      "This package provides a library for exchanging data between Python and
+JavaScript.")
+    (license license:bsd-3)))
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 17/18] gnu: Add python-wagtail.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-17-ngraves@ngraves.fr
* gnu/packages/django.scm (python-wagtail): New variable.
---
gnu/packages/django.scm | 69 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)

Toggle diff (79 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 46891fd044..63626940cd 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1485,3 +1485,72 @@ (define-public python-telepath
       "This package provides a library for exchanging data between Python and
 JavaScript.")
     (license license:bsd-3)))
+
+(define-public python-wagtail
+  (package
+    (name "python-wagtail")
+    (version "2.16.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "wagtail" version))
+       (sha256
+        (base32 "1alxxj7aiwj1ymaharzxv7sq7kyv555jg5fc1b98aiwxlcdxq8zf"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (lambda _
+                   (setenv "DJANGO_SETTINGS_MODULE" "wagtail.tests.settings")
+                   (invoke "django-admin"
+                           "test" "--pythonpath=."
+                           ;; disabling failing tests
+                           "-k" "not test_azure_cdn_get_client"
+                           "-k" "not test_azure_cdn_purge"
+                           "-k" "not test_azure_front_door_get_client"
+                           "-k" "not test_azure_front_door_purge"))))))))
+    (propagated-inputs
+     (list python-anyascii
+           python-beautifulsoup4-4.8
+           python-django
+           python-django-filter
+           python-django-modelcluster
+           python-django-taggit
+           python-django-treebeard
+           python-django-rest-framework
+           python-draftjs-exporter
+           python-html5lib
+           python-l18n
+           python-pillow
+           python-requests
+           python-tablib
+           python-telepath
+           python-willow
+           python-xlsxwriter))
+    (native-inputs
+     (list ;; python-azure-mgmt-cdn ;failing tests
+           ;; python-azure-mgmt-frontdoor ;failing tests
+           python-boto3
+           python-coverage
+           python-dateutil
+           python-doc8
+           python-docutils
+           python-elasticsearch
+           python-flake8
+           python-flake8-blind-except
+           python-flake8-print
+           python-freezegun
+           python-isort
+           python-jinja2
+           python-jinjalint
+           python-openpyxl
+           python-polib
+           python-pytz
+           python-unidecode))
+    (home-page "https://wagtail.org/")
+    (synopsis "A Django content management system.")
+    (description "This package provides a Django content management system.")
+    (license license:bsd-3)))
-- 
2.36.0
N
N
Nicolas Graves wrote on 17 May 09:54 +0200
[PATCH 18/18] gnu: Add python-wagtail-localize.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20220517075448.32638-18-ngraves@ngraves.fr
* gnu/packages/django.scm (python-wagtail-localize): New variable.
---
gnu/packages/django.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 63626940cd..abfce310c2 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1554,3 +1554,33 @@ (define-public python-wagtail
     (synopsis "A Django content management system.")
     (description "This package provides a Django content management system.")
     (license license:bsd-3)))
+
+(define-public python-wagtail-localize
+  (package
+    (name "python-wagtail-localize")
+    (version "1.1.1")
+    (source
+     (origin
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://github.com/wagtail/wagtail-localize")
+            (commit (string-append "v" version))))
+      (file-name (git-file-name name version))
+      (sha256
+       (base32
+        "014vcjzm1akbjinzqksqi228ic97f4brl0qvhxlyr42p49nxgh0y"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python" "testmanage.py")
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs (list python-django python-polib python-wagtail))
+    (native-inputs (list python-dj-database-url python-freezegun))
+    (home-page "https://www.wagtail-localize.org")
+    (synopsis "Translation plugin for Wagtail CMS")
+    (description "This package provides a translation plugin for Wagtail CMS.")
+    (license license:bsd-3)))
-- 
2.36.0
N
N
Nicolas Graves wrote on 12 Jun 20:25 +0200
Re: bug#55474: Acknowledgement ([PATCH 01/18] gnu: python-django-taggit: Update to 2.1.0.)
(address . 55474@debbugs.gnu.org)
87tu8pbuxu.fsf@ngraves.fr
Quick reminder ;)

This series of patches implement the wagtail python package, and is
functional and tested.

Cheers,

Nicolas Graves

help-debbugs@gnu.org (GNU bug Tracking System) writes:

Toggle quote (21 lines)
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 55474@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 55474: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55474
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
H
H
Hartmut Goebel wrote on 22 Jun 19:01 +0200
control message for bug #55476
(address . control@debbugs.gnu.org)
87tu8cy6mf.fsf@lenashee.goebel-consult.de
merge 55476 55475 55474 55473
quit
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 01/17] gnu: python-django-taggit: Update to 2.1.0.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-1-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-taggit): Update to 2.1.0.
---
gnu/packages/django.scm | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 0eb9ccf0f3..ec6012f19c 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -325,14 +325,13 @@ (define-public python-django-classy-tags
 (define-public python-django-taggit
   (package
     (name "python-django-taggit")
-    (version "1.3.0")
+    (version "2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "django-taggit" version))
        (sha256
-        (base32
-         "0bbkabbs77z229ps0800gxfhf75yagp4x4j5jzfysbac3zvkp0sa"))))
+        (base32 "0khqd189xlzs9r5ypjchmvp9isw7xql4f9vgv0l4pzlfsm51xx59"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -341,15 +340,16 @@ (define-public python-django-taggit
            (lambda _
              (invoke "python3" "-m" "django" "test" "--settings=tests.settings"))))))
     (propagated-inputs
-     (list python-django python-isort))
+     (list python-django python-isort python-sqlparse))
     (native-inputs
-     (list python-pytest python-mock))
+     (list python-django-rest-framework))
     (home-page
      "https://github.com/jazzband/django-taggit")
     (synopsis
-     "Reusable Django application for simple tagging")
+     "Django application for simple tagging")
     (description
-     "Django-taggit is a reusable Django application for simple tagging.")
+     "This package provides @code{django-taggit}, a reusable Django
+application for simple tagging.")
     (license license:bsd-3)))
 
 (define-public python-easy-thumbnails
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 02/17] gnu: python-django-filter: Update to 21.1.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-2-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-filter): Update to 21.1.
---
gnu/packages/django.scm | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index ec6012f19c..d00f7a073d 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -470,13 +470,13 @@ (define-public python-django-haystack
 (define-public python-django-filter
   (package
     (name "python-django-filter")
-    (version "2.3.0")
+    (version "21.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "django-filter" version))
               (sha256
                (base32
-                "1bz5qzdk9pk4a2lp2yacrdnqmkv24vxnz4k3lykrnpc3b7bkvrhi"))))
+                "0vl3sriw9ra0mhz7zzkxvlkgiqignlmr7zyfii5xpapim0gjaak3"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -488,12 +488,12 @@ (define-public python-django-filter
      (list python-django python-django-rest-framework
            python-django-crispy-forms python-mock))
     (home-page "https://django-filter.readthedocs.io/en/latest/")
-    (synopsis "Reusable Django application to filter querysets dynamically")
+    (synopsis "Django application filtering querysets dynamically")
     (description
-     "Django-filter is a generic, reusable application to alleviate writing
-some of the more mundane bits of view code.  Specifically, it allows users to
-filter down a queryset based on a model’s fields, displaying the form to let
-them do this.")
+     "This package provides @code{django-filter}, a generic and
+reusable application to alleviate writing some of the more mundane bits of
+view code.  Specifically, it allows users to filter down a queryset based on a
+model’s fields, displaying the form to let them do this.")
     (license license:bsd-3)))
 
 (define-public python-django-allauth
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 03/17] gnu: Add python-django-modelcluster.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-3-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-modelcluster): New variable.
---
gnu/packages/django.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index d00f7a073d..dfd799faba 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -798,6 +798,38 @@ (define-public python-django-contrib-comments
 entries, photos, book chapters, or anything else.")
     (license license:bsd-3)))
 
+(define-public python-django-modelcluster
+  (package
+    (name "python-django-modelcluster")
+    (version "5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://github.com/wagtail/django-modelcluster"
+         "/archive/refs/tags/v" version ".tar.gz"))
+       (sha256
+        (base32 "0xlhlnsr8gingbrsgbzhx79z9ds9i9rfii3gp38xnid01xjwlqln"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python" "runtests.py")
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs (list python-django python-pytz))
+    (native-inputs (list python-django-taggit))
+    (home-page "https://github.com/wagtail/django-modelcluster")
+    (synopsis
+     "Django extension to allow working with 'clusters' of models as a single unit")
+    (description
+     "This package provides a Django extension to allow working with
+'clusters' of models as a single unit, independently of the database")
+    (license license:bsd-3)))
+
 (define-public python-django-pipeline
   (package
     (name "python-django-pipeline")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 04/17] gnu: Add python-django-treebeard.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-4-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-treebeard): New variable.
---
gnu/packages/django.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index dfd799faba..617c897ba8 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -352,6 +352,47 @@ (define-public python-django-taggit
 application for simple tagging.")
     (license license:bsd-3)))
 
+(define-public python-django-treebeard
+  (package
+    (name "python-django-treebeard")
+    (version "4.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-treebeard" version))
+       (sha256
+        (base32 "1nk9b40cp0jsxr3qsb16mh9xr0z3cvf69yp5ahh70fajf8bh05c0"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (lambda _
+                   (setenv "PYTHONPATH"
+                           (string-append ".:" (getenv "GUIX_PYTHONPATH")))
+                   (setenv "DJANGO_SETTINGS_MODULE" "treebeard.tests.settings")
+                   (substitute* "setup.py" ((".*pythonpath.*") ""))
+                   (invoke "pytest" "-vv"))
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs (list python-django
+                             python-sqlparse))
+    (native-inputs (list python-wheel
+                         python-pytest-django))
+    (home-page "https://github.com/django-treebeard/django-treebeard/")
+    (synopsis "Efficient tree implementations for Django")
+    (description
+     "This package provides @code{django-treebeard}, an efficient tree
+implementations for Django.  It includes 3 different tree implementations
+with the same API:
+@itemize
+@item Adjacency List
+@item Materialized Path
+@item Nested Sets
+@end itemize")
+    (license license:bsd-3)))
+
 (define-public python-easy-thumbnails
   (package
     (name "python-easy-thumbnails")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 05/17] gnu: Add python-jinjalint.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-5-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-jinjalint): New variable.
---
gnu/packages/python-xyz.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b6ca32a757..a94e632028 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4107,6 +4107,38 @@ (define-public python-pysdl2
 common SDL2 functionality.")
     (license license:cc0)))
 
+(define-public python-jinjalint
+  (package
+    (name "python-jinjalint")
+    (version "0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jinjalint" version))
+       (sha256
+        (base32 "09qqqi6iggr64zms9j9sgfq9v5samvsqyyqk0s1y4gfjy6lf9424"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'lift-requirements
+           (lambda _
+             (substitute* "requirements.txt"
+               (("parsy==1.1.0.*") "parsy\n")
+               (("attrs==17.2.*") "attrs\n")
+               (("docopt==0.6.2.*") "docopt\n"))))
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python3" "-m" "jinjalint" "jinjalint/test.py")
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs (list python-attrs python-docopt python-parsy))
+    (home-page "https://github.com/motet-a/jinjalint")
+    (synopsis "Linter for Jinja-like templates")
+    (description "This package provides @code{jinjalint} a linter for
+Jinja-like templates in Python.")
+    (license license:expat)))
+
 (define-public python-pystache
   (package
     (name "python-pystache")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 06/17] gnu: Add python-willow.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-6-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-willow): New variable.
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a94e632028..c3b1da69ac 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7145,6 +7145,31 @@ (define-public python-pillow-simd
     (description "This package is a fork of Pillow which adds support for SIMD
 parallelism.")))
 
+(define-public python-willow
+  (package
+    (name "python-willow")
+    (version "1.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Willow" version))
+       (sha256
+        (base32 "03ccxy5j3w5gsjz5nbnlya1drhga3gc2xxqbsi40pq1ihm9gzy0d"))))
+    (build-system python-build-system)
+    (inputs
+     (list freetype lcms libjpeg-turbo libtiff libwebp openjpeg zlib))
+    (home-page "https://github.com/wagtail/Willow")
+    (synopsis
+     "A wrapper that combines the functionality of multiple Python image
+libraries into one API")
+    (description
+     "Willow is a simple image library that combines the APIs of Pillow, Wand
+and OpenCV. It converts the image between the libraries when necessary. Willow
+currently has basic resize and crop operations, face and feature detection and
+animated GIF support. New operations and library integrations can also be
+easily implemented.")
+    (license license:bsd-3)))
+
 (define-public python-imagecodecs
   (package
     (name "python-imagecodecs")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 07/17] gnu: Add python-django-request.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-7-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-request): New variable.
---
gnu/packages/django.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 617c897ba8..600ea055b8 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -257,6 +257,38 @@ (define-public python-django-localflavor
 that are useful for particular countries or cultures.")
     (license license:bsd-3)))
 
+(define-public python-django-request
+  (package
+    (name "python-django-request")
+    (version "1.5.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-request" version))
+       (sha256
+        (base32 "0g5vj7kl5jn03m8h9jd0fpmhhvaywrhw01fcphcah4vf0y40ly00"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python" "runtests.py")
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs
+     (list python-dateutil python-django python-six))
+    (native-inputs
+     (list python-sqlparse python-mock))
+    (home-page "https://django-request.readthedocs.io")
+    (synopsis
+     "Statistics module for django")
+    (description
+     "This package provides a statistics module for django.  It stores
+requests in a database for admins to see, it can also be used to get
+statistics on who is online etc.")
+    (license license:expat)))
+
 (define-public python-django-simple-math-captcha
   (package
     (name "python-django-simple-math-captcha")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 08/17] gnu: Add python-django-environ.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-8-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-environ): New variable.
---
gnu/packages/django.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 600ea055b8..9fe6de74fa 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -188,6 +188,25 @@ (define-public python-django-2.2
 ;; Use 3.2 LTS as the default until packages gain support for 4.x.
 (define-public python-django python-django-3.2)
 
+(define-public python-django-environ
+  (package
+    (name "python-django-environ")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-environ" version))
+       (sha256
+        (base32 "1jrllmr9awbhj68l8jkqj8lcc7c6l35khsa841mnb49qnh1cj2vg"))))
+    (build-system python-build-system)
+    (native-inputs (list python-coverage python-pytest))
+    (home-page "https://django-environ.readthedocs.io")
+    (synopsis
+     "Use environment variables to configure your Django application")
+    (description "This package provides 12factor inspired environment
+variables to configure your Django application.")
+    (license license:expat)))
+
 (define-public python-django-extensions
   (package
     (name "python-django-extensions")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 09/17] gnu: Add python-psycopg2-2.8.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-9-ngraves@ngraves.fr
* gnu/packages/databases.scm (python-psycopg2-2.8): New variable.
---
gnu/packages/databases.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)

Toggle diff (25 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 9535b65dbd..aa4e3e7437 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3657,6 +3657,18 @@ (define-public python-psycopg2
 2.0.")
     (license license:lgpl3+)))
 
+(define-public python-psycopg2-2.8
+  (package
+    (inherit python-psycopg2)
+    (name "python-psycopg2-2.8")
+    (version "2.8.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "psycopg2" version))
+       (sha256
+        (base32 "0hzmk6b1hb5riqkljr5xics6p4zbvmis6knbczb7zhq7273zc8zv"))))))
+
 (define-public python-psycopg-pool
   (package
     (name "python-psycopg-pool")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 10/17] gnu: Add python-beautifulsoup4-4.8.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-10-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-beautifulsoup4-4.8): New variable.
---
gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c3b1da69ac..bb8552f248 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9390,6 +9390,39 @@ (define-public python-beautifulsoup4
 converts incoming documents to Unicode and outgoing documents to UTF-8.")
     (license license:expat)))
 
+(define-public python-beautifulsoup4-4.8
+  (package
+    (inherit python-beautifulsoup4)
+    (name "python-beautifulsoup4")
+    (version "4.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://www.crummy.com/software/BeautifulSoup/bs4/download/"
+             "4.8/beautifulsoup4-" version ".tar.gz"))
+       (sha256
+        (base32 "0aj6ll0zpmm32g3919xxclwincacdr6dymkscmvhha8wn1g85z85"))))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; The Python 2 source is the definitive source of beautifulsoup4. We
+         ;; must use this conversion script when building with Python 3. The
+         ;; conversion script also runs the tests.
+         ;; For more information, see the file 'convert-py3k' in the source
+         ;; distribution.
+         (add-before 'build 'convert-py3k
+           (lambda _
+             (substitute* "convert-py3k"
+               (("\\(cd py3k && python3 -m unittest discover -s bs4\\)") ""))
+             (invoke "./convert-py3k")
+             (delete-file-recursively "bs4")
+             (mkdir-p "bs4")
+             (copy-recursively "py3k/bs4" "bs4")
+             (substitute* "setup.py"
+               (("use_2to3 = True,") "")))))))))
+
 (define-public python-soupsieve
   (package
     (name "python-soupsieve")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 11/17] gnu: Add python-draftjs-exporter.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-11-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-draftjs-exporter): New variable.
---
gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bb8552f248..f7c77acbbf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7791,6 +7791,41 @@ (define-public python-decorator
 etc.  The core of this module is a decorator factory.")
     (license license:expat)))
 
+(define-public python-draftjs-exporter
+  (package
+    (name "python-draftjs-exporter")
+    (version "2.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://github.com/springload/draftjs_exporter"
+         "/archive/refs/tags/v" version ".tar.gz"))
+       (sha256
+        (base32 "02fjmzagvnc146zqhc0xg6mybrkjg3pc7wbl4pmbq4gvmwjsml4c"))))
+    (build-system python-build-system)
+    (native-inputs (list python-beautifulsoup4-4.8
+                         python-html5lib
+                         python-lxml))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python" "-m" "unittest" "discover"
+                     ;; disabling two unexpected failing tests FIXME
+                     "-k" "not test_export_lxml_big_content_export"
+                     "-k" "not test_export_lxml_entity_with_data-*")
+                 (format #t "test suite not run~%")))))))
+    (home-page "https://github.com/springload/draftjs_exporter")
+    (synopsis
+     "Library to convert rich text from Draft.js raw ContentState to HTML")
+    (description
+     "This package provides a python library to convert rich text from Draft.js raw
+ContentState to HTML.")
+    (license license:expat)))
 
 (define-public python-drmaa
   (package
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 12/17] gnu: Add python-l18n.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-12-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-l18n): New variable.
---
gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f7c77acbbf..a2b64fe3ed 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1247,6 +1247,26 @@ (define-public python-shortuuid
 module and then similar looking characters are removed.")
     (license license:bsd-3)))
 
+(define-public python-l18n
+  (package
+    (name "python-l18n")
+    (version "2021.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "l18n" version))
+       (sha256
+        (base32 "0j6q89d1mk03snvj4v1600fbrxjlq59k5490rhsp3lbkss8fhmhr"))))
+    (build-system python-build-system)
+    (native-inputs (list python-wheel))
+    (propagated-inputs (list python-pytz python-six))
+    (home-page "https://github.com/tkhyn/l18n")
+    (synopsis "Internationalization for timezones and territories")
+    (description
+     "This package provides internationalization for @code{python-pytz}
+timezones and territories.")
+    (license license:expat)))
+
 (define-public python-logwrap
   (package
     (name "python-logwrap")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 13/17] gnu: Add python-parsy.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-13-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-parsy): 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 a2b64fe3ed..3ca123148c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2963,6 +2963,24 @@ (define-public python-parse
 syntax.")
     (license license:x11)))
 
+(define-public python-parsy
+  (package
+    (name "python-parsy")
+    (version "1.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "parsy" version))
+       (sha256
+        (base32 "00pkd1irxp1c9mcg3x1k3ny8jl7w5jfxp45ky0qp9s90wmri6hbw"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pytest python-attrs))
+    (home-page "https://github.com/python-parsy/parsy")
+    (synopsis "Parsing in pure Python")
+    (description "This package provides easy-to-use parser combinators, for
+parsing in pure Python.")
+    (license license:expat)))
+
 (define-public python-polib
   (package
     (name "python-polib")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 14/17] gnu: Add python-anyascii.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-14-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-anyascii): New variable.
---
gnu/packages/python-xyz.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3ca123148c..90b3c6686f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -260,6 +260,23 @@ (define-module (gnu packages python-xyz)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
+(define-public python-anyascii
+  (package
+    (name "python-anyascii")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "anyascii" version))
+       (sha256
+        (base32 "1xhibjqqn97pq90dsrqks265rr550napaz7d3v4qdqh6h9r5gpyy"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/anyascii/anyascii")
+    (synopsis "Unicode to ASCII transliteration")
+    (description "This package provides Unicode to ASCII transliteration for
+Python.")
+    (license license:expat)))
+
 (define-public python-xmldiff
   (package
     (name "python-xmldiff")
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 15/17] gnu: Add python-telepath.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-15-ngraves@ngraves.fr
* gnu/packages/django.scm (python-telepath): New variable.
---
gnu/packages/django.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 9fe6de74fa..8400d96898 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1485,3 +1485,32 @@ (define-public python-django-svg-image-form-field
 models that use Django's standard @code{ImageField}, in addition to the
 image files already supported by it.")
     (license license:expat)))
+
+(define-public python-telepath
+  (package
+    (name "python-telepath")
+    (version "0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "telepath" version))
+       (sha256
+        (base32 "0k7q5dqgvcwnslb82ah0g6p772jzjmb6fd4wcdc8r46ibsjg4k7g"))))
+    (build-system python-build-system)
+    (native-inputs (list python-django python-pytest-django))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (lambda _
+                   (setenv "DJANGO_SETTINGS_MODULE" "telepath.test_settings")
+                   (invoke "django-admin" "test" "--pythonpath=."))
+                 (format #t "test suite not run~%")))))))
+    (home-page "https://github.com/wagtail/telepath")
+    (synopsis "Exchanging data between Python and JavaScript")
+    (description
+     "This package provides @code{telepath}, a library for exchanging data
+between Python and JavaScript.")
+    (license license:bsd-3)))
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 16/17] gnu: Add python-wagtail.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-16-ngraves@ngraves.fr
* gnu/packages/django.scm (python-wagtail): New variable.
---
gnu/packages/django.scm | 70 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)

Toggle diff (80 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 8400d96898..934aa8e95a 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1514,3 +1514,73 @@ (define-public python-telepath
      "This package provides @code{telepath}, a library for exchanging data
 between Python and JavaScript.")
     (license license:bsd-3)))
+
+(define-public python-wagtail
+  (package
+    (name "python-wagtail")
+    (version "2.16.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "wagtail" version))
+       (sha256
+        (base32 "1alxxj7aiwj1ymaharzxv7sq7kyv555jg5fc1b98aiwxlcdxq8zf"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (lambda _
+                   (setenv "DJANGO_SETTINGS_MODULE" "wagtail.tests.settings")
+                   (invoke "django-admin"
+                           "test" "--pythonpath=."
+                           ;; disabling failing tests
+                           "-k" "not test_azure_cdn_get_client"
+                           "-k" "not test_azure_cdn_purge"
+                           "-k" "not test_azure_front_door_get_client"
+                           "-k" "not test_azure_front_door_purge"))))))))
+    (propagated-inputs
+     (list python-anyascii
+           python-beautifulsoup4-4.8
+           python-django
+           python-django-filter
+           python-django-modelcluster
+           python-django-taggit
+           python-django-treebeard
+           python-django-rest-framework
+           python-draftjs-exporter
+           python-html5lib
+           python-l18n
+           python-pillow
+           python-requests
+           python-tablib
+           python-telepath
+           python-willow
+           python-xlsxwriter))
+    (native-inputs
+     (list ;; python-azure-mgmt-cdn ;failing tests
+      ;; python-azure-mgmt-frontdoor ;failing tests
+      python-boto3
+      python-coverage
+      python-dateutil
+      python-doc8
+      python-docutils
+      python-elasticsearch
+      python-flake8
+      python-flake8-blind-except
+      python-flake8-print
+      python-freezegun
+      python-isort
+      python-jinja2
+      python-jinjalint
+      python-openpyxl
+      python-polib
+      python-pytz
+      python-unidecode))
+    (home-page "https://wagtail.org/")
+    (synopsis "A Content Management System (CMS)")
+    (description "This package provides a Content Management System based on
+Django.")
+    (license license:bsd-3)))
-- 
2.37.1
N
N
Nicolas Graves wrote on 9 Aug 19:13 +0200
[PATCH v2 17/17] gnu: Add python-wagtail-localize.
(address . 55474@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20220809171332.25824-17-ngraves@ngraves.fr
* gnu/packages/django.scm (python-wagtail-localize): New variable.
---
gnu/packages/django.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 934aa8e95a..cd88e1fac3 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1584,3 +1584,33 @@ (define-public python-wagtail
     (description "This package provides a Content Management System based on
 Django.")
     (license license:bsd-3)))
+
+(define-public python-wagtail-localize
+  (package
+    (name "python-wagtail-localize")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/wagtail/wagtail-localize")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "014vcjzm1akbjinzqksqi228ic97f4brl0qvhxlyr42p49nxgh0y"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (invoke "python" "testmanage.py")
+                 (format #t "test suite not run~%")))))))
+    (propagated-inputs (list python-django python-polib python-wagtail))
+    (native-inputs (list python-dj-database-url python-freezegun))
+    (home-page "https://www.wagtail-localize.org")
+    (synopsis "Translating for Wagtail Content Management System (CMS)")
+    (description "This package provides a translation plugin for Wagtail CMS.")
+    (license license:bsd-3)))
-- 
2.37.1
?