Subject: [PATCH 8/8] gnu: Add datasette.

From: Felix Gruber <[email-masked]>
Date: Sun, 15 Jan 2023 21:53:47 +0000

* gnu/packages/databases.scm (datasette): New variable.
---
 gnu/packages/databases.scm | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 9831a3b761..4913d3a82e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -59,6 +59,7 @@
 ;;; Copyright © 2022 muradm <[email-masked]>
 ;;; Copyright © 2022 Thomas Albers Raviola <[email-masked]>
 ;;; Copyright © 2021, 2022 jgart <[email-masked]>
+;;; Copyright © 2023 Felix Gruber <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5051,3 +5052,49 @@ (define-public python-dogpile.cache
 provides API hooks which integrate these cache backends with the locking
 mechanism of @code{dogpile}.")
     (license license:expat)))
+
+(define-public datasette
+  (package
+    (name "datasette")
+    (version "0.64.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "datasette" version))
+        (sha256
+         (base32
+          "1m8gr2rzap34cg8z7k3mrax373i3jc8fbpq73fxb602la5zc6c6a"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f                    ; pypi package contains no tests
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'loosen-requirements
+            (lambda _
+              ;; The package needlessly specifies exact versions
+              ;; of dependencies, when it works fine with others.
+              (substitute* "setup.py"
+                (("(black)==[0-9\\.]+" all package)
+                 package)))))))
+    (propagated-inputs (list python-aiofiles
+                             python-asgi-csrf
+                             python-asgiref
+                             python-click-7
+                             python-click-default-group-wheel
+                             python-httpx
+                             python-hupper
+                             python-itsdangerous
+                             python-janus
+                             python-jinja2
+                             python-mergedeep
+                             python-pint
+                             python-pluggy-next
+                             python-pyyaml
+                             python-uvicorn))
+    (home-page "https://datasette.io/")
+    (synopsis "Multi-tool for exploring and publishing data")
+    (description "Datasette is a tool for exploring and publishing data.
+It helps people take data of any shape or size and publish that as an
+interactive, explorable website and accompanying API.")
+    (license license:asl2.0)))
-- 
2.38.1