@@ -20427,3 +20427,34 @@ runtime inspection of types defined in the Python standard typing module.")
"This is an implementation of PEP 557, Data Classes. It is a
backport of the @code{dataclasses} module for Python 3.6.")
(license license:asl2.0)))
+
+(define-public python-libcst
+ (package
+ (name "python-libcst")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "libcst" version))
+ (sha256
+ (base32
+ "1lxwjw3a302i0ka3ykcsc1r4c94zskzlgn3rqs2h0kmchp0g74qz"))))
+ (build-system python-build-system)
+ (arguments
+ ;; FIXME: Tests depend on python-hypothesmith and python-pyre-check,
+ ;; introducing a circular dependency.
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-dataclasses" ,python-dataclasses)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-typing-extensions"
+ ,python-typing-extensions)
+ ("python-typing-inspect" ,python-typing-inspect)))
+ (home-page "https://github.com/Instagram/LibCST")
+ (synopsis
+ "Concrete Syntax Tree (CST) parser and serializer library for Python")
+ (description
+ "LibCST parses Python 3.0, 3.1, 3.3, 3.5, 3.6, 3.7 or 3.8 source code
+as a CST tree that keeps all formatting details (comments, whitespaces, parentheses,
+etc.). It's useful for building automated refactoring applications and linters.")
+ (license license:expat)))