summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix Gruber <felgru@posteo.net>2022-04-20 17:28:00 +0000
committerLudovic Courtès <ludo@gnu.org>2022-05-02 15:14:45 +0200
commitc0c16d6b8472563acf895578a3ebfeeb75b29fec (patch)
tree9de769e25e0d7ac59b519acc9c241426c27b1538
parentfce913281f901cbeb3e6ed8c2a4468474ac46021 (diff)
downloadguix-c0c16d6b8472563acf895578a3ebfeeb75b29fec.tar.gz
gnu: Add python-itemadapter.
* gnu/packages/python-xyz.scm (python-itemadapter): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/python-xyz.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d371fb27ca..1c98ddb263 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29559,6 +29559,36 @@ sorted by priority and queues that are emptied in a round-robin
 fashion.")
     (license license:bsd-3)))
 
+(define-public python-itemadapter
+  (package
+    (name "python-itemadapter")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "itemadapter" version))
+        (sha256
+          (base32 "083wp3h2brh8x19jbdr8rz3biqwp3jlqd0rfzcyrjyhssffsgdh5"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/scrapy/itemadapter")
+    (synopsis "Common interface for data container classes")
+    (description "The ItemAdapter class is a wrapper for data container
+objects, providing a common interface to handle objects of different
+types in an uniform manner, regardless of their underlying implementation.
+
+Currently supported types are:
+@itemize
+@item scrapy.item.Item
+@item dict
+@item dataclass-based classes
+@item attrs-based classes
+@item pydantic-based classes
+@end itemize
+
+Additionally, interaction with arbitrary types is supported by
+implementing a pre-defined interface.")
+    (license license:bsd-3)))
+
 (define-public python-hypy-utils
   (package
     (name "python-hypy-utils")