summary refs log tree commit diff
diff options
context:
space:
mode:
authorTroy Figiel <troy@troyfigiel.com>2023-12-28 00:31:42 +0100
committerMathieu Othacehe <othacehe@gnu.org>2023-12-28 10:25:09 +0100
commitbc509aba838780502b83f7fc3d2aee72903656f2 (patch)
treed0955248f9fdf3c3d51960a016523bb39f5456e8
parent5f2a3c3ebc4b230b2ec2a1719ed0b3d166992104 (diff)
downloadguix-bc509aba838780502b83f7fc3d2aee72903656f2.tar.gz
gnu: Add python-ast-decompiler.
* gnu/packages/python-xyz.scm (python-ast-decompiler): New variable.

Change-Id: Id0f47c866e72c9f7053da47fdd7aea840a191e62
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
-rw-r--r--gnu/packages/python-xyz.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 85a97eb633..ee689809a3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11021,6 +11021,34 @@ MEDLINE XML repository.")
 abstract syntax tree (AST) nodes without side effects.")
     (license license:expat)))
 
+(define-public python-ast-decompiler
+  (package
+    (name "python-ast-decompiler")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ast_decompiler" version))
+       (sha256
+        (base32 "0dw3fck4ajilphqw4hdpa8pmqxg3jfk2xkmjnk3kx5pqwl3sbhzg"))
+       ;; We need to manually create an __init__.py file under the tests/
+       ;; directory, since it is not included in the distributed
+       ;; version. (See:
+       ;; https://github.com/JelleZijlstra/ast_decompiler/issues/52).
+       (modules '((guix build utils)))
+       (snippet '(call-with-output-file "tests/__init__.py"
+                   (const #t)))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-flit-core python-pytest))
+    (home-page "https://github.com/JelleZijlstra/ast_decompiler")
+    (synopsis
+     "Decompile an @acronym{AST, Abstract Syntax Tree} to Python code")
+    (description
+     "This library provides functionality to decompile @acronym{AST, Abstract
+Syntax Tree} objects, as generated by the standard library @code{ast} module,
+to Python code.")
+    (license license:asl2.0)))
+
 (define-public python-asttokens
   (package
     (name "python-asttokens")