[PATCH 00/10] gnu: Add python-mypy.

  • Done
  • quality assurance status badge
Details
2 participants
  • Marius Bakke
  • Tanguy Le Carrour
Owner
unassigned
Submitted by
Tanguy Le Carrour
Severity
normal
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:55
(address . guix-patches@gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115515.5408-1-tanguy@bioneland.org
This patch replaces #42395 and #42396.
It might also replace #35975 and #35193.

Tanguy Le Carrour (10):
gnu: python-typing-extension: Update to 3.7.4.2.
gnu: python-hypothesis: Update to 5.20.0.
gnu: Add python-mypy-extensions.
gnu: Add python-typing-inspect.
gnu: Add python-libcst.
gnu: Add python-lark-parser.
gnu: Add python-hypothesmith.
gnu: Add python-flake8-bugbear.
gnu: Add python-flake8-pyi.
gnu: Add python-mypy.

gnu/packages/check.scm | 27 +++++-
gnu/packages/python-check.scm | 71 +++++++++++++++
gnu/packages/python-xyz.scm | 159 +++++++++++++++++++++++++++++++++-
3 files changed, 253 insertions(+), 4 deletions(-)

--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 01/10] gnu: python-typing-extension: Update to 3.7.4.2.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-1-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-typing-extension): Update to 3.7.4.2.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 748f48f229..893506b5c3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16663,14 +16663,14 @@ and other tools.")
(define-public python-typing-extensions
(package
(name "python-typing-extensions")
- (version "3.7.4.1")
+ (version "3.7.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "typing_extensions" version))
(sha256
(base32
- "1wj1vcgbnm20aiinmphyxfrbv3qi9xdhvw89ab3qm42y9n4wq7h9"))))
+ "1bk9b60s3rm1c8cwhv0bl3gh0x43153xxa6jpyllk9mc7jd5ivkr"))))
(build-system python-build-system)
(home-page
"https://github.com/python/typing/blob/master/typing_extensions/README.rst")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 02/10] gnu: python-hypothesis: Update to 5.20.0.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-2-tanguy@bioneland.org
* gnu/packages/check.scm (python-hypothesis): Update to 5.20.0.
---
gnu/packages/check.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 661ed65e53..a3608e4125 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1801,13 +1801,13 @@ instantly.")
(define-public python-hypothesis
(package
(name "python-hypothesis")
- (version "5.4.1")
+ (version "5.20.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "hypothesis" version))
(sha256
(base32
- "0zn09bn6hadk4vxl6jy8bkjr5fz8mrhin3z46w7pq5qgbaycr89p"))))
+ "0h1wy6wdcbgidqw5spm0lndlj77l6d5na5z2cxy04g4yp5m9v9jh"))))
(build-system python-build-system)
(arguments
;; XXX: Tests are not distributed with the PyPI archive.
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 03/10] gnu: Add python-mypy-extensions.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-3-tanguy@bioneland.org
* gnu/packages/python-check.scm (python-mypy-extensions): New variable.
---
gnu/packages/python-check.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 09eb253f06..89137b515d 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
+;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bionelang.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -454,3 +455,22 @@ analysing code quality.")
(description "This package provides a library for replying fake data to
Python software under test, when they make an HTTP query.")
(license license:asl2.0)))
+
+(define-public python-mypy-extensions
+ (package
+ (name "python-mypy-extensions")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy_extensions" version))
+ (sha256
+ (base32
+ "1a04qsk8hd1lqns8w1j7cr0vmvbhg450di5k1i16kqxkbf7q30id"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #f)); no tests
+ (home-page "https://github.com/python/mypy_extensions")
+ (synopsis "Experimental extensions for MyPy.")
+ (description "The @code{python-mypy-extensions} module defines experimental
+extensions to the standard 'typing' module that are supported by the mypy typechecker.")
+ (license license:expat)))
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 04/10] gnu: Add python-typing-inspect.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-4-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-typing-inspect): New variable.
---
gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 893506b5c3..2293a16ecc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12274,6 +12274,30 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-typing-inspect
+ (package
+ (name "python-typing-inspect")
+ (version "0.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "typing_inspect" version))
+ (sha256
+ (base32
+ "1dzs9a1pr23dhbvmnvms2jv7l7jk26023g5ysf0zvnq8b791s6wg"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-typing-extensions" ,python-typing-extensions)))
+ (home-page "https://github.com/ilevkivskyi/typing_inspect")
+ (synopsis
+ "Defines experimental API for runtime inspection of types defined in the Python
+standard typing module")
+ (description
+ "The typing_inspect module defines experimental API for runtime inspection of types
+defined in the Python standard typing module. Works with typing version 3.7.4 and
+later.")
+ (license license:expat)))
+
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 05/10] gnu: Add python-libcst.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-5-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-libcst): New variable.
---
gnu/packages/python-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2293a16ecc..6b462a42f0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12274,6 +12274,61 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-libcst
+ (package
+ (name "python-libcst")
+ (version "0.3.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "libcst" version))
+ (sha256
+ (base32
+ "1wfd5m9jhk5x2qpz29pjhm9ypp5h3nlbk6xv4vzn4f45xdf5bv9x"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda _
+ ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/346>.
+ (delete-file "libcst/tests/test_fuzz.py")
+ ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/347>.
+ (delete-file "libcst/tests/test_pyre_integration.py")
+ (delete-file "libcst/codemod/tests/test_codemod_cli.py")
+ (delete-file "libcst/metadata/tests/test_full_repo_manager.py")
+ (delete-file "libcst/metadata/tests/test_type_inference_provider.py")
+ #t))
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH" (string-append (getcwd) ":" (getenv "PYTHONPATH")))
+ (invoke "python" "-m" "libcst.codegen.generate" "visitors")
+ (invoke "python" "-m" "libcst.codegen.generate" "return_types")
+ (invoke "python" "-m" "unittest")
+ #t)))))
+ (native-inputs
+ `(("python-black" ,python-black)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-isort" ,python-isort)))
+ (propagated-inputs
+ `(("python-typing-extensions" ,python-typing-extensions)
+ ("python-typing-inspect" ,python-typing-inspect)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "https://github.com/Instagram/LibCST")
+ (synopsis "A 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 (codemod) applications and linters. LibCST creates
+a compromise between an Abstract Syntax Tree (AST) and a traditional Concrete Syntax
+Tree (CST). By carefully reorganizing and naming node types and fields, we've created
+a lossless CST that looks and feels like an AST.")
+ (license (list license:expat
+ ;; Some files unde libcst/_parser/ are under Python Software
+ ;; Foundation license (see LICENSE file for details)
+ license:psfl
+ ;; libcst/_add_slots.py
+ license:asl2.0))))
+
(define-public python-typing-inspect
(package
(name "python-typing-inspect")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 06/10] gnu: Add python-lark-parser.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-6-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-lark-parser): 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 6b462a42f0..533e2f6421 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12274,6 +12274,25 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-lark-parser
+ (package
+ (name "python-lark-parser")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "lark-parser" version))
+ (sha256
+ (base32
+ "1kd61asrb3h9spgsj4bslfbgp8q4271sw3hblk6f2vbbblv8jxcy"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/lark-parser/lark")
+ (synopsis "A modern parsing library for Python")
+ (description
+ "Lark is a parser built with a focus on ergonomics, performance and resilience.
+Lark can parse all context-free languages. That means it is capable of parsing almost
+any programming language out there, and to some degree most natural languages too.")
+ (license license:expat)))
+
(define-public python-libcst
(package
(name "python-libcst")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 07/10] gnu: Add python-hypothesmith.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-7-tanguy@bioneland.org
* gnu/packages/check.scm (python-hypothesmith): New variable.
---
gnu/packages/check.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index a3608e4125..817bdb4cd9 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1840,6 +1840,29 @@ seamlessly into your existing Python unit testing work flow.")
`(("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs hypothesis))))))
+(define-public python-hypothesmith
+ (package
+ (name "python-hypothesmith")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hypothesmith" version))
+ (sha256
+ (base32
+ "09331sspknv459xcyn1k0lx5flqlc6gmnwp9370pfvg4kg1zmss6"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-hypothesis" ,python-hypothesis)
+ ("python-lark-parser" ,python-lark-parser)
+ ("python-libcst" ,python-libcst)))
+ (home-page "https://github.com/Zac-HD/hypothesmith")
+ (synopsis "Strategies for generating Python programs.")
+ (description
+ "Hypothesis strategies for generating Python programs, something like CSmith. This
+is definitely pre-alpha, but if you want to play with it feel free!")
+ (license license:mpl2.0)))
+
(define-public python-lit
(package
(name "python-lit")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 08/10] gnu: Add python-flake8-bugbear.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-8-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-flake8-bugbear): New variable.
---
gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 533e2f6421..dd1e78d2e0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7886,6 +7886,34 @@ complexity of Python source code.")
("python-pyflakes" ,python-pyflakes-1.2)
("python-mccabe" ,python-mccabe)))))
+(define-public python-flake8-bugbear
+ (package
+ (name "python-flake8-bugbear")
+ (version "20.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8-bugbear" version))
+ (sha256
+ (base32
+ "0qiihb242fygzyrfynq913ak7cdmx8mcac9c0zk3y5gv16qf80mx"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-hypothesis" ,python-hypothesis)
+ ("python-hypothesmith" ,python-hypothesmith)))
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)))
+ (home-page "https://github.com/PyCQA/flake8-bugbear")
+ (synopsis
+ "A plugin for Flake8 finding likely bugs and design problems in your program")
+ (description
+ "A plugin for Flake8 finding likely bugs and design problems in your program.
+Contains warnings that don't belong in pyflakes and pycodestyle. It is felt that
+these lints don't belong in the main Python tools as they are very opinionated and
+do not have a PEP or standard behind them.")
+ (license license:expat)))
+
(define-public python-flake8-polyfill
(package
(name "python-flake8-polyfill")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 09/10] gnu: Add python-flake8-pyi.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-9-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-flake8-pyi): New variable.
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index dd1e78d2e0..1d4199eb14 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7957,6 +7957,35 @@ plugins that intend to support Flake8 2.x and 3.x simultaneously.")
(define-public python2-flake8-polyfill
(package-with-python2 python-flake8-polyfill))
+(define-public python-flake8-pyi
+ (package
+ (name "python-flake8-pyi")
+ (version "20.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8-pyi" version))
+ (sha256
+ (base32
+ "1zpq4s9kp8w95pccmhhyyx1ff2zhnidcf1zb3xs46lzcx9plvnzk"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)
+ ("python-pyflakes" ,python-pyflakes)))
+ (home-page "https://github.com/ambv/flake8-pyi")
+ (synopsis
+ "A plugin for Flake8 that provides specializations for type hinting stub files.")
+ (description
+ "A plugin for Flake8 that provides specializations for type hinting stub files,
+especially interesting for linting typeshed. 1) Adds the .pyi extension to
+the default value of the --filename command-line argument to Flake8. This means
+stubs are linted by default with this plugin enabled, without needing to explicitly list
+every file. 2) Modifies PyFlakes runs for .pyi files to defer checking type annotation
+expressions after the entire file has been read. This enables support for first-class
+forward references that stub files use.")
+ (license license:expat)))
+
(define-public python-mistune
(package
(name "python-mistune")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 21 Jul 2020 13:56
[PATCH 10/10] gnu: Add python-mypy.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200721115633.6088-10-tanguy@bioneland.org
* gnu/packages/python-check.scm (python-mypy): New variable.
---
gnu/packages/python-check.scm | 51 +++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 89137b515d..ea26282074 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -30,6 +30,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -474,3 +475,53 @@ Python software under test, when they make an HTTP query.")
(description "The @code{python-mypy-extensions} module defines experimental
extensions to the standard 'typing' module that are supported by the mypy typechecker.")
(license license:expat)))
+
+(define-public python-mypy
+ (package
+ (name "python-mypy")
+ (version "0.782")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy" version))
+ (sha256
+ (base32
+ "030kn709515452n6gy2i1d9fg6fyrkmdz228lfpmbslybsld9xzg"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "./runtests.py")
+ #t)))))
+ (native-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)
+ ("python-flake8-bugbear" ,python-flake8-bugbear)
+ ("python-flake8-pyi" ,python-flake8-pyi)
+ ("python-importlib-metadata" ,python-importlib-metadata)
+ ("python-lxml" ,python-lxml)
+ ("python-psutil" ,python-psutil)
+ ("python-py" ,python-py)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-forked" ,python-pytest-forked)
+ ("python-pytest-xdist" ,python-pytest-xdist)
+ ("python-setuptools" ,python-setuptools)
+ ("python-virtualenv" ,python-virtualenv)))
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-typing-extensions" ,python-typing-extensions)
+ ("python-typed-ast" ,python-typed-ast)))
+ (home-page "http://www.mypy-lang.org/")
+ (synopsis "Optional static type checker for Python")
+ (description "Mypy is an optional static type checker for Python that aims
+to combine the benefits of dynamic (or 'duck') typing and static typing. Mypy combines
+the expressive power and convenience of Python with a powerful type system and
+compile-time type checking. Mypy type checks standard Python programs; run them using
+any Python VM with basically no runtime overhead.")
+ ;; Most of the code is under MIT license; Some files are under Python Software
+ ;; Foundation License version 2: stdlib-samples/*, mypyc/lib-rt/pythonsupport.h and
+ ;; mypyc/lib-rt/getargs.c
+ (license (list license:expat license:psfl))))
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 01/10] gnu: python-typing-extension: Update to 3.7.4.2.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-1-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-typing-extension): Update to 3.7.4.2.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 07a52a0e5c..54bbef42e4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16816,14 +16816,14 @@ and other tools.")
(define-public python-typing-extensions
(package
(name "python-typing-extensions")
- (version "3.7.4.1")
+ (version "3.7.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "typing_extensions" version))
(sha256
(base32
- "1wj1vcgbnm20aiinmphyxfrbv3qi9xdhvw89ab3qm42y9n4wq7h9"))))
+ "1bk9b60s3rm1c8cwhv0bl3gh0x43153xxa6jpyllk9mc7jd5ivkr"))))
(build-system python-build-system)
(home-page
"https://github.com/python/typing/blob/master/typing_extensions/README.rst")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 02/10] gnu: python-hypothesis: Update to 5.20.0.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-2-tanguy@bioneland.org
* gnu/packages/check.scm (python-hypothesis): Update to 5.20.0.
---
gnu/packages/check.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 661ed65e53..a3608e4125 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1801,13 +1801,13 @@ instantly.")
(define-public python-hypothesis
(package
(name "python-hypothesis")
- (version "5.4.1")
+ (version "5.20.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "hypothesis" version))
(sha256
(base32
- "0zn09bn6hadk4vxl6jy8bkjr5fz8mrhin3z46w7pq5qgbaycr89p"))))
+ "0h1wy6wdcbgidqw5spm0lndlj77l6d5na5z2cxy04g4yp5m9v9jh"))))
(build-system python-build-system)
(arguments
;; XXX: Tests are not distributed with the PyPI archive.
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 04/10] gnu: Add python-typing-inspect.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-4-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-typing-inspect): New variable.
---
gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 54bbef42e4..6fa1044fdc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12297,6 +12297,30 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-typing-inspect
+ (package
+ (name "python-typing-inspect")
+ (version "0.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "typing_inspect" version))
+ (sha256
+ (base32
+ "1dzs9a1pr23dhbvmnvms2jv7l7jk26023g5ysf0zvnq8b791s6wg"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-typing-extensions" ,python-typing-extensions)))
+ (home-page "https://github.com/ilevkivskyi/typing_inspect")
+ (synopsis
+ "Defines experimental API for runtime inspection of types defined in the Python
+standard typing module")
+ (description
+ "The typing_inspect module defines experimental API for runtime inspection of types
+defined in the Python standard typing module. Works with typing version 3.7.4 and
+later.")
+ (license license:expat)))
+
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 03/10] gnu: Add python-mypy-extensions.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-3-tanguy@bioneland.org
* gnu/packages/python-check.scm (python-mypy-extensions): New variable.
---
gnu/packages/python-check.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 2e3cfe05c5..f80b7634cf 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
+;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bionelang.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -534,3 +535,22 @@ it, the declaration of a name's public export semantics are not separated from
the implementation of that name.")
(license (list license:asl2.0
license:lgpl3)))) ; only for setup_helpers.py
+
+(define-public python-mypy-extensions
+ (package
+ (name "python-mypy-extensions")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy_extensions" version))
+ (sha256
+ (base32
+ "1a04qsk8hd1lqns8w1j7cr0vmvbhg450di5k1i16kqxkbf7q30id"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #f)); no tests
+ (home-page "https://github.com/python/mypy_extensions")
+ (synopsis "Experimental extensions for MyPy.")
+ (description "The @code{python-mypy-extensions} module defines experimental
+extensions to the standard 'typing' module that are supported by the mypy typechecker.")
+ (license license:expat)))
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 08/10] gnu: Add python-flake8-bugbear.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-8-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-flake8-bugbear): New variable.
---
gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 26673c20c0..6be4c29976 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7909,6 +7909,34 @@ complexity of Python source code.")
("python-pyflakes" ,python-pyflakes-1.2)
("python-mccabe" ,python-mccabe)))))
+(define-public python-flake8-bugbear
+ (package
+ (name "python-flake8-bugbear")
+ (version "20.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8-bugbear" version))
+ (sha256
+ (base32
+ "0qiihb242fygzyrfynq913ak7cdmx8mcac9c0zk3y5gv16qf80mx"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-hypothesis" ,python-hypothesis)
+ ("python-hypothesmith" ,python-hypothesmith)))
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)))
+ (home-page "https://github.com/PyCQA/flake8-bugbear")
+ (synopsis
+ "A plugin for Flake8 finding likely bugs and design problems in your program")
+ (description
+ "A plugin for Flake8 finding likely bugs and design problems in your program.
+Contains warnings that don't belong in pyflakes and pycodestyle. It is felt that
+these lints don't belong in the main Python tools as they are very opinionated and
+do not have a PEP or standard behind them.")
+ (license license:expat)))
+
(define-public python-flake8-polyfill
(package
(name "python-flake8-polyfill")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 05/10] gnu: Add python-libcst.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-5-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-libcst): New variable.
---
gnu/packages/python-xyz.scm | 57 +++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6fa1044fdc..4f959b886c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12297,6 +12297,63 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-libcst
+ (package
+ (name "python-libcst")
+ (version "0.3.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "libcst" version))
+ (sha256
+ (base32
+ "1wfd5m9jhk5x2qpz29pjhm9ypp5h3nlbk6xv4vzn4f45xdf5bv9x"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda _
+ ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/346>.
+ (delete-file "libcst/tests/test_fuzz.py")
+ ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/347>.
+ (delete-file "libcst/tests/test_pyre_integration.py")
+ (delete-file "libcst/codemod/tests/test_codemod_cli.py")
+ (delete-file "libcst/metadata/tests/test_full_repo_manager.py")
+ (delete-file "libcst/metadata/tests/test_type_inference_provider.py")
+ #t))
+ (add-before 'check 'generate-test-data
+ (lambda _
+ (setenv "PYTHONPATH" (string-append (getcwd) ":" (getenv "PYTHONPATH")))
+ (invoke "python" "-m" "libcst.codegen.generate" "visitors")
+ (invoke "python" "-m" "libcst.codegen.generate" "return_types")))
+ (replace 'check
+ (lambda _
+ (invoke "python" "-m" "unittest")
+ #t)))))
+ (native-inputs
+ `(("python-black" ,python-black)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-isort" ,python-isort)))
+ (propagated-inputs
+ `(("python-typing-extensions" ,python-typing-extensions)
+ ("python-typing-inspect" ,python-typing-inspect)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "https://github.com/Instagram/LibCST")
+ (synopsis "A 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 (codemod) applications and linters. LibCST creates
+a compromise between an Abstract Syntax Tree (AST) and a traditional Concrete Syntax
+Tree (CST). By carefully reorganizing and naming node types and fields, we've created
+a lossless CST that looks and feels like an AST.")
+ (license (list license:expat
+ ;; Some files unde libcst/_parser/ are under Python Software
+ ;; Foundation license (see LICENSE file for details)
+ license:psfl
+ ;; libcst/_add_slots.py
+ license:asl2.0))))
+
(define-public python-typing-inspect
(package
(name "python-typing-inspect")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 09/10] gnu: Add python-flake8-pyi.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-9-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-flake8-pyi): New variable.
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6be4c29976..6deab39b0e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7980,6 +7980,35 @@ plugins that intend to support Flake8 2.x and 3.x simultaneously.")
(define-public python2-flake8-polyfill
(package-with-python2 python-flake8-polyfill))
+(define-public python-flake8-pyi
+ (package
+ (name "python-flake8-pyi")
+ (version "20.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8-pyi" version))
+ (sha256
+ (base32
+ "1zpq4s9kp8w95pccmhhyyx1ff2zhnidcf1zb3xs46lzcx9plvnzk"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)
+ ("python-pyflakes" ,python-pyflakes)))
+ (home-page "https://github.com/ambv/flake8-pyi")
+ (synopsis
+ "A plugin for Flake8 that provides specializations for type hinting stub files.")
+ (description
+ "A plugin for Flake8 that provides specializations for type hinting stub files,
+especially interesting for linting typeshed. 1) Adds the .pyi extension to
+the default value of the --filename command-line argument to Flake8. This means
+stubs are linted by default with this plugin enabled, without needing to explicitly list
+every file. 2) Modifies PyFlakes runs for .pyi files to defer checking type annotation
+expressions after the entire file has been read. This enables support for first-class
+forward references that stub files use.")
+ (license license:expat)))
+
(define-public python-mistune
(package
(name "python-mistune")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 06/10] gnu: Add python-lark-parser.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-6-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-lark-parser): 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 4f959b886c..26673c20c0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12297,6 +12297,25 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-lark-parser
+ (package
+ (name "python-lark-parser")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "lark-parser" version))
+ (sha256
+ (base32
+ "1kd61asrb3h9spgsj4bslfbgp8q4271sw3hblk6f2vbbblv8jxcy"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/lark-parser/lark")
+ (synopsis "A modern parsing library for Python")
+ (description
+ "Lark is a parser built with a focus on ergonomics, performance and resilience.
+Lark can parse all context-free languages. That means it is capable of parsing almost
+any programming language out there, and to some degree most natural languages too.")
+ (license license:expat)))
+
(define-public python-libcst
(package
(name "python-libcst")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 10/10] gnu: Add python-mypy.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-10-tanguy@bioneland.org
* gnu/packages/python-check.scm (python-mypy): New variable.
---
gnu/packages/python-check.scm | 51 +++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index f80b7634cf..511bc2b931 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -30,6 +30,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -554,3 +555,53 @@ the implementation of that name.")
(description "The @code{python-mypy-extensions} module defines experimental
extensions to the standard 'typing' module that are supported by the mypy typechecker.")
(license license:expat)))
+
+(define-public python-mypy
+ (package
+ (name "python-mypy")
+ (version "0.782")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy" version))
+ (sha256
+ (base32
+ "030kn709515452n6gy2i1d9fg6fyrkmdz228lfpmbslybsld9xzg"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "./runtests.py")
+ #t)))))
+ (native-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)
+ ("python-flake8-bugbear" ,python-flake8-bugbear)
+ ("python-flake8-pyi" ,python-flake8-pyi)
+ ("python-importlib-metadata" ,python-importlib-metadata)
+ ("python-lxml" ,python-lxml)
+ ("python-psutil" ,python-psutil)
+ ("python-py" ,python-py)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-forked" ,python-pytest-forked)
+ ("python-pytest-xdist" ,python-pytest-xdist)
+ ("python-setuptools" ,python-setuptools)
+ ("python-virtualenv" ,python-virtualenv)))
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-typing-extensions" ,python-typing-extensions)
+ ("python-typed-ast" ,python-typed-ast)))
+ (home-page "http://www.mypy-lang.org/")
+ (synopsis "Optional static type checker for Python")
+ (description "Mypy is an optional static type checker for Python that aims
+to combine the benefits of dynamic (or 'duck') typing and static typing. Mypy combines
+the expressive power and convenience of Python with a powerful type system and
+compile-time type checking. Mypy type checks standard Python programs; run them using
+any Python VM with basically no runtime overhead.")
+ ;; Most of the code is under MIT license; Some files are under Python Software
+ ;; Foundation License version 2: stdlib-samples/*, mypyc/lib-rt/pythonsupport.h and
+ ;; mypyc/lib-rt/getargs.c
+ (license (list license:expat license:psfl))))
--
2.27.0
T
T
Tanguy Le Carrour wrote on 22 Jul 2020 14:09
[PATCH v2 07/10] gnu: Add python-hypothesmith.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200722120940.13811-7-tanguy@bioneland.org
* gnu/packages/check.scm (python-hypothesmith): New variable.
---
gnu/packages/check.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index a3608e4125..817bdb4cd9 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1840,6 +1840,29 @@ seamlessly into your existing Python unit testing work flow.")
`(("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs hypothesis))))))
+(define-public python-hypothesmith
+ (package
+ (name "python-hypothesmith")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hypothesmith" version))
+ (sha256
+ (base32
+ "09331sspknv459xcyn1k0lx5flqlc6gmnwp9370pfvg4kg1zmss6"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-hypothesis" ,python-hypothesis)
+ ("python-lark-parser" ,python-lark-parser)
+ ("python-libcst" ,python-libcst)))
+ (home-page "https://github.com/Zac-HD/hypothesmith")
+ (synopsis "Strategies for generating Python programs.")
+ (description
+ "Hypothesis strategies for generating Python programs, something like CSmith. This
+is definitely pre-alpha, but if you want to play with it feel free!")
+ (license license:mpl2.0)))
+
(define-public python-lit
(package
(name "python-lit")
--
2.27.0
M
M
Marius Bakke wrote on 25 Jul 2020 17:47
Re: [bug#42465] [PATCH 01/10] gnu: python-typing-extension: Update to 3.7.4.2.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
87r1sztx3w.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-xyz.scm (python-typing-extension): Update to 3.7.4.2.

Applied, thanks!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cVCQACgkQoqBt8qM6
VPo4mgf/YPo8pY8PbhQNIyNzw3bO9Fav9KLDBUw75NL/2zCxIKUwoV8cZorebAi/
x2TI97gE1Oh/f4af26RuW49hmwQFft8gsjgCSdVHGP8WdQKKuR9EZP/Ff9ZqZyE2
ArUeo1GGYCwXK9uueqo347K3Le+ejCNpH6XX90+43tmC30YIk0xrnqen71oe49vw
UygzCbvkZbaNiNe6p94QJC43/WVszgee3c5XsM1IXRNG8cICQmCvWB+uUE4s0fua
BJyzuUUcVPma1/IpsjTYcCtcU9c54qrAMVdYSeN/D4Tyd+ttIxnfdbQbNgtwiuJx
qCnYCzXFcongVzTnKgaWMzO+FmI6ww==
=Hhkk
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 17:52
Re: [bug#42465] [PATCH 02/10] gnu: python-hypothesis: Update to 5.20.0.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
87o8o3twvw.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/check.scm (python-hypothesis): Update to 5.20.0.

This can not be applied on 'master' because Hypothesis has 6261
dependent packages:

$ ./pre-inst-env guix refresh -l python-hypothesis
Building the following 2211 packages would ensure 6261 dependent
packages are rebuilt: [...]

If it is necessary for the remainder of this series, you can add a
different variable with the new hypothesis like so:

(define-public python-hypothesis-5.20
(package
(inherit python-hypothesis)
(version "5.20")
(source ...)))

And then add 'python-hypothesis-5.20' to native-inputs in the packages
that need it.

Can you look into it?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cVUMACgkQoqBt8qM6
VPq2xAf/Y0pc8tLOuyiIDCACsAgpOlKjCzrqtdrNIMdqcSsvYGrQcxv/jpfby4L3
p0j2Y8HNnOLov1+1VVsK5pvZcc7N9Z1uocianai4eCiElNNOLPh0Vq6O/5NwlYRO
vDG2N7hwdP9Jams6Pd9CjZr4/PB4BzLYI1Ho3kzsc+3NF/7ym5KQwHRCBk8sKw0C
7WcAm/uZ9PdUQkcIJWGGfcNJ6nGz2SIGpsf8twys9NMwVyJX8l1PFMJCyl+6+QB2
coHhBPPHLgr+bhwzcd4IaT/zVftvNjG6sr6wmwA2RIJjytHy1BDprg4T9GGENCxy
fR7XVjIenPP8kFPbFCeBOHLnxwWi2w==
=HgAN
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 17:55
Re: [bug#42465] [PATCH 03/10] gnu: Add python-mypy-extensions.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
87lfj7twr4.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-check.scm (python-mypy-extensions): New variable.

[...]

Toggle quote (15 lines)
> +(define-public python-mypy-extensions
> + (package
> + (name "python-mypy-extensions")
> + (version "0.4.3")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "mypy_extensions" version))
> + (sha256
> + (base32
> + "1a04qsk8hd1lqns8w1j7cr0vmvbhg450di5k1i16kqxkbf7q30id"))))
> + (build-system python-build-system)
> + (arguments `(#:tests? #f)); no tests
> + (home-page "https://github.com/python/mypy_extensions")
> + (synopsis "Experimental extensions for MyPy.")
^^^
No '.'. --------->

Toggle quote (3 lines)
> + (description "The @code{python-mypy-extensions} module defines experimental
> +extensions to the standard 'typing' module that are supported by the mypy typechecker.")

@code{typing}. Also try to keep description lines shorter than 78
characters. This should probably also say 'MyPy' (capitalized)?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cVe8ACgkQoqBt8qM6
VPqxSQgAiUomq7Sn5qe/+N/pngbrEkiLjbRWRouOrDtrrIvVK1nd6VsfMT3Oo2PH
Mugh9iGMdN/QUtfEry1b3UY3GkURfEUwLU9Ueml41OHQQCCtq5WlBDh/fwPCRjCc
+P1gy/mamDcxM1Pa30nIekVleEgO1kfhCVL11yvUrcpWIGkMH6Ynx+PFnqYDsaPq
YMsQz71zoE6oKSq3IxywAoF36ObFzHDdE70zUxVsO49MGfDArbEI7g/IW5Qo1q0S
NnGzoHy/8XwhcJjolCW78/W6dfRTmlWpykMcKGsBdXChQdBSFC1C42tTvYxXhER4
7ZfxwmmlZdVL21qkEum3X4HosWCbFg==
=eWOp
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 17:58
Re: [bug#42465] [PATCH 04/10] gnu: Add python-typing-inspect.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
87imebtwm8.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-xyz.scm (python-typing-inspect): New variable.

[...]
Toggle quote (19 lines)
> +(define-public python-typing-inspect
> + (package
> + (name "python-typing-inspect")
> + (version "0.6.0")
> + (source (origin
> + (method url-fetch)
> + (uri (pypi-uri "typing_inspect" version))
> + (sha256
> + (base32
> + "1dzs9a1pr23dhbvmnvms2jv7l7jk26023g5ysf0zvnq8b791s6wg"))))
> + (build-system python-build-system)
> + (propagated-inputs
> + `(("python-mypy-extensions" ,python-mypy-extensions)
> + ("python-typing-extensions" ,python-typing-extensions)))
> + (home-page "https://github.com/ilevkivskyi/typing_inspect")
> + (synopsis
> + "Defines experimental API for runtime inspection of types defined in the Python
> +standard typing module")

Just 'API for inspection of types in the Python @code{typing} module'.

Toggle quote (5 lines)
> + (description
> + "The typing_inspect module defines experimental API for runtime inspection of types
> +defined in the Python standard typing module. Works with typing version 3.7.4 and
> +later.")

@code{typing_inspect}. Also two spaces between sentences (guix lint
will warn about this). Although in this case I think we can cut the
other sentence completely, as I presume it will get outdated soon.
WDYT?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cVp8ACgkQoqBt8qM6
VPpypgf/VrwbJyhT2enu0kL5RqdFwHkCUHTlDvaSaL3H88jPw3XXt7g7YwybhCZH
bnRq1GLLDldCu1+jpirwUqHO5DjR0z1BTGCkHHDXSkwWAdBXg5fd/AJNIzqcIr4u
siA0i2rJKdYUETb49fa/vOvoelyDuWp4JlfzZcP+Udo1S7wHSypmhHv0TjAsvZiz
rdO4o4gaAijo9JM388/bXxLbQhAeP7zCD0oYFMc6nLnihX6Npy+og33AkkMUKXFV
NniCgnwA2Uy/pPGtKAv58pmwrjbneGeoYBWlJGu+h4hI0TRC9VYyHqs+IHXRJNSL
3JlDiyGUIO1zvVreELcEWEOvsfyWPg==
=/hkt
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 18:03
Re: [bug#42465] [PATCH 05/10] gnu: Add python-libcst.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
87ft9ftwdd.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-xyz.scm (python-libcst): New variable.

[...]
Toggle quote (32 lines)
> +(define-public python-libcst
> + (package
> + (name "python-libcst")
> + (version "0.3.7")
> + (source (origin
> + (method url-fetch)
> + (uri (pypi-uri "libcst" version))
> + (sha256
> + (base32
> + "1wfd5m9jhk5x2qpz29pjhm9ypp5h3nlbk6xv4vzn4f45xdf5bv9x"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'remove-failing-tests
> + (lambda _
> + ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/346>.
> + (delete-file "libcst/tests/test_fuzz.py")
> + ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/347>.
> + (delete-file "libcst/tests/test_pyre_integration.py")
> + (delete-file "libcst/codemod/tests/test_codemod_cli.py")
> + (delete-file "libcst/metadata/tests/test_full_repo_manager.py")
> + (delete-file "libcst/metadata/tests/test_type_inference_provider.py")
> + #t))
> + (replace 'check
> + (lambda _
> + (setenv "PYTHONPATH" (string-append (getcwd) ":" (getenv "PYTHONPATH")))
> + (invoke "python" "-m" "libcst.codegen.generate" "visitors")
> + (invoke "python" "-m" "libcst.codegen.generate" "return_types")
> + (invoke "python" "-m" "unittest")
> + #t)))))

Nice. :-)

Toggle quote (11 lines)
> + (native-inputs
> + `(("python-black" ,python-black)
> + ("python-hypothesis" ,python-hypothesis)
> + ("python-isort" ,python-isort)))
> + (propagated-inputs
> + `(("python-typing-extensions" ,python-typing-extensions)
> + ("python-typing-inspect" ,python-typing-inspect)
> + ("python-pyyaml" ,python-pyyaml)))
> + (home-page "https://github.com/Instagram/LibCST")
> + (synopsis "A Concrete Syntax Tree (CST) parser and serializer library for Python")

No article in the start of synopsis (guix lint will warn about this).
So this becomes: "Concrete Syntax Tree (CST) parser and serializer
library for Python".

Toggle quote (8 lines)
> + (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 (codemod) applications and linters. LibCST creates
> +a compromise between an Abstract Syntax Tree (AST) and a traditional Concrete Syntax
> +Tree (CST). By carefully reorganizing and naming node types and fields, we've created
> +a lossless CST that looks and feels like an AST.")

Maybe the versions can be omitted so we don't have to update the
description for every update. Also, the "we've created" sentence feels
weird, maybe s/we've created/LibCST creates/ ?

Toggle quote (7 lines)
> + (license (list license:expat
> + ;; Some files unde libcst/_parser/ are under Python Software
> + ;; Foundation license (see LICENSE file for details)
> + license:psfl
> + ;; libcst/_add_slots.py
> + license:asl2.0))))

Great! :-)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cV94ACgkQoqBt8qM6
VPqapwf9FnHHymjZ7fG+KI7nGmm7KOU9sJN/F6Lls9rfueQZe70F0zN66+WWLuE0
V2ZQK+bGJ8dvzV+lj9WHienYDZ9hIsft+h4cwbkkf8Sdwtq7KVPshBDb5OSHO6xL
e/TSYPYT30MCG7aipY/JMtI7rBEsJN3esLqoOLAR2hwP5RTdNrDCo2TGrbOw3lEQ
KzZqxszaOy42aEvnIejrxa+A0rXC0R2UcjbODbMQL57qTwcquK1L3kHk3yu4Iz0p
uuhpO/phGIJzSiAPRSTIQ7ROhKU0kQqlGZYFh7gCdaGQsswGA+HZ/HCm9st1f8gi
DyuxoP6klK36wsS0dc0lYH+lODXHYA==
=v5Aj
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 18:05
Re: [bug#42465] [PATCH 06/10] gnu: Add python-lark-parser.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
87d04jtwaw.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-xyz.scm (python-lark-parser): New variable.

[...]

Toggle quote (2 lines)
> + (synopsis "A modern parsing library for Python")

Maybe "Multi-language parser for Python"? At least the 'A' should go.

Toggle quote (5 lines)
> + (description
> + "Lark is a parser built with a focus on ergonomics, performance and resilience.
> +Lark can parse all context-free languages. That means it is capable of parsing almost
> +any programming language out there, and to some degree most natural languages too.")

Heh, cool stuff! :-)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cWDcACgkQoqBt8qM6
VPp8Nwf/TP4Zx3lC9MghzNklUdMgDmp9qot6KXgs5cdeuQMEfdJpQMlMH2f6VWAH
2woWc2oq5m9Ow02ycp3dLvqSsPjLYeTsXQN9F7+T4OgIpAsDMvPE7DA3mi+0Ou5Z
JDb7YsFJknOG7X163ShgbXW5d4qKoopeQ+H8TIlpVxBahH7P9Tjn4hjK391fCRtb
nEewkfmLd3b7ooPJuMRy4paG9VE5IL0dUzNUO7Zmpk1w3W/e5XIGa+C2DENC8WEJ
WBYjkhLTZlTmQBuEScZLr12FYC39J9JhJ6Wv6unIk/xHMIn9CZS34velkj4kPQAq
WcvYBfaShRTdfDuER0uV7/GdhAAjQA==
=1a6V
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 18:09
Re: [bug#42465] [PATCH 07/10] gnu: Add python-hypothesmith.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
87a6zntw4e.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/check.scm (python-hypothesmith): New variable.

[...]
Toggle quote (19 lines)
> +(define-public python-hypothesmith
> + (package
> + (name "python-hypothesmith")
> + (version "0.1.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "hypothesmith" version))
> + (sha256
> + (base32
> + "09331sspknv459xcyn1k0lx5flqlc6gmnwp9370pfvg4kg1zmss6"))))
> + (build-system python-build-system)
> + (propagated-inputs
> + `(("python-hypothesis" ,python-hypothesis)
> + ("python-lark-parser" ,python-lark-parser)
> + ("python-libcst" ,python-libcst)))
> + (home-page "https://github.com/Zac-HD/hypothesmith")
> + (synopsis "Strategies for generating Python programs.")

No '.' at the end of synopsis.

Toggle quote (4 lines)
> + (description
> + "Hypothesis strategies for generating Python programs, something like CSmith. This
> +is definitely pre-alpha, but if you want to play with it feel free!")

This should be a full sentence, i.e. "This package contains hypothesis
strategies for [...]". Can you define "CSmith"?

Also I think the other sentence can be omitted.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cWSEACgkQoqBt8qM6
VPrFeQgAiM1mRo8x1S9BqUST5xmYGlNNFvWoCTcPM8pNN1hUgIiIJ9uL64DmvKF1
7T0eviAJ1fLOgyB0VxR4zprupCrl9cUtiRa/MGNMsW+ng1sEqTIBdgAsoMEzJ1oJ
73AquV4k0QgCo8EDWUP9io2yI8QWmVGQJfCnCBIM+9LcFhzuX0PkTr6DIBx2XtxN
6ZoqvHcs+TjmBH5B8ZeVEADNCTE9eZ8pNeGh/rUbwx/Rs6LH7UFKrP3CBa9F80KG
UdyzBVjOo14fsaNLnjGMJbThtXzLM+benATnewkhA29g/piH3cMw/NiLKax3Y+cc
JKbkeUh2Q5fq/RKyI0rYM48QRosqAg==
=INux
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 18:13
Re: [bug#42465] [PATCH 08/10] gnu: Add python-flake8-bugbear.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
877durtvxs.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-xyz.scm (python-flake8-bugbear): New variable.

[...]
Toggle quote (16 lines)
> +(define-public python-flake8-bugbear
> + (package
> + (name "python-flake8-bugbear")
> + (version "20.1.4")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "flake8-bugbear" version))
> + (sha256
> + (base32
> + "0qiihb242fygzyrfynq913ak7cdmx8mcac9c0zk3y5gv16qf80mx"))))
> + (build-system python-build-system)
> + (native-inputs
> + `(("python-hypothesis" ,python-hypothesis)
> + ("python-hypothesmith" ,python-hypothesmith)))

I realize now that hypothesmith is probably a hypothesis plugin? In
that case it should not propagate hypothesis IMO.

Toggle quote (7 lines)
> + (propagated-inputs
> + `(("python-attrs" ,python-attrs)
> + ("python-flake8" ,python-flake8)))
> + (home-page "https://github.com/PyCQA/flake8-bugbear")
> + (synopsis
> + "A plugin for Flake8 finding likely bugs and design problems in your program")

Just "Flake8 plugin for [...]".

Toggle quote (6 lines)
> + (description
> + "A plugin for Flake8 finding likely bugs and design problems in your program.
> +Contains warnings that don't belong in pyflakes and pycodestyle. It is felt that
> +these lints don't belong in the main Python tools as they are very opinionated and
> +do not have a PEP or standard behind them.")

Please use full sentences, i.e. "This package contains a plugin for
Flake8 ..." and "It contains warnings that ...".

I don't really understand the last sentence. Who feels this? Can we
remove it? :-)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cWg8ACgkQoqBt8qM6
VPpMQAgAqi6EXGDYqczh7A1ZJRa9b09D8BCoaFp65cC6pXd2xKwXhS4ET84eeiWK
MkfhAFsAFcHHQM39yyeISAzGNF8u/xYxkFjtIK9wOaPTo2KitnFju3i9mdylru1I
/2toWIXUAY5ME56HZxsRfgH9xzD1nVTZO7fenwoVh59FDLUkOURafglwAjWNPZOK
aE9scp8vUSX34yC4IFoVtzSO9fxg9TDbYz044xOLU6N3jVLjAiubfocWaTDGQ2EN
xJIhIZYDHABVRSOawvUPeNlikup4OzaLvmx7b46oqXRcdEbF2xscynQQ+zAcb6JI
LrlIUm9E1t7KHCqL0c5LsI9MWinzDg==
=JziX
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 18:15
Re: [bug#42465] [PATCH 09/10] gnu: Add python-flake8-pyi.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
874kpvtvtw.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-xyz.scm (python-flake8-pyi): New variable.

[...]
Toggle quote (20 lines)
> +(define-public python-flake8-pyi
> + (package
> + (name "python-flake8-pyi")
> + (version "20.5.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "flake8-pyi" version))
> + (sha256
> + (base32
> + "1zpq4s9kp8w95pccmhhyyx1ff2zhnidcf1zb3xs46lzcx9plvnzk"))))
> + (build-system python-build-system)
> + (propagated-inputs
> + `(("python-attrs" ,python-attrs)
> + ("python-flake8" ,python-flake8)
> + ("python-pyflakes" ,python-pyflakes)))
> + (home-page "https://github.com/ambv/flake8-pyi")
> + (synopsis
> + "A plugin for Flake8 that provides specializations for type hinting stub files.")

No punctuation or article (you probably got that by now). :-)

Toggle quote (9 lines)
> + (description
> + "A plugin for Flake8 that provides specializations for type hinting stub files,
> +especially interesting for linting typeshed. 1) Adds the .pyi extension to
> +the default value of the --filename command-line argument to Flake8. This means
> +stubs are linted by default with this plugin enabled, without needing to explicitly list
> +every file. 2) Modifies PyFlakes runs for .pyi files to defer checking type annotation
> +expressions after the entire file has been read. This enables support for first-class
> +forward references that stub files use.")

And full sentence, i.e. "This package contains a plugin ...". Also
@file{.pyi}.

The 1) and 2) reads "weird" to me, maybe they can be cut off and just
use the text? Or perhaps they should be on separate lines, perhaps with
@enumerate or similar?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cWpsACgkQoqBt8qM6
VPqZlAgAh6vC3TR46vQea/A9riwGsKVAPMdsnNrv75kLtw/bvoUYCRl4Te0wNYvs
L3xddXKr7+76gZKoLzyO8z/1ao5FouJZzqJJ1nxp8D6EaXtJVqTQEsCP1G8fSAnr
cTtmHfG5V5JQ4kX61mE6kQaSI5PLQpywq/tlLr8abZfTzEGv8npwfxE52D4vF6mb
qF5OsmpJh14eBaez9pYyZ+TT3TPPuzt15NKLvK/ZWceeDVcD6JpGX9nRqPT88q+z
jSvmO93PPb6vRLnaggJR4eyOMYfWT7gtGxiyqQvR0Y8XXyIx0j41WQTll9YDz3eA
q/EwWYCfQ7tQW4uxTGoq4rIqDDB8qA==
=jmCl
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 25 Jul 2020 18:18
Re: [bug#42465] [PATCH 10/10] gnu: Add python-mypy.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
871rkztvoy.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (2 lines)
> * gnu/packages/python-check.scm (python-mypy): New variable.

Neat! I only recently learned about MyPy, good to have it in Guix.

Toggle quote (41 lines)
> +(define-public python-mypy
> + (package
> + (name "python-mypy")
> + (version "0.782")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "mypy" version))
> + (sha256
> + (base32
> + "030kn709515452n6gy2i1d9fg6fyrkmdz228lfpmbslybsld9xzg"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (replace 'check
> + (lambda _
> + (invoke "./runtests.py")
> + #t)))))
> + (native-inputs
> + `(("python-attrs" ,python-attrs)
> + ("python-flake8" ,python-flake8)
> + ("python-flake8-bugbear" ,python-flake8-bugbear)
> + ("python-flake8-pyi" ,python-flake8-pyi)
> + ("python-importlib-metadata" ,python-importlib-metadata)
> + ("python-lxml" ,python-lxml)
> + ("python-psutil" ,python-psutil)
> + ("python-py" ,python-py)
> + ("python-pytest" ,python-pytest)
> + ("python-pytest-cov" ,python-pytest-cov)
> + ("python-pytest-forked" ,python-pytest-forked)
> + ("python-pytest-xdist" ,python-pytest-xdist)
> + ("python-setuptools" ,python-setuptools)
> + ("python-virtualenv" ,python-virtualenv)))
> + (propagated-inputs
> + `(("python-mypy-extensions" ,python-mypy-extensions)
> + ("python-typing-extensions" ,python-typing-extensions)
> + ("python-typed-ast" ,python-typed-ast)))
> + (home-page "http://www.mypy-lang.org/")
> + (synopsis "Optional static type checker for Python")

Perhaps s/Optional//? I mean, if it was mandatory, wouldn't it be part
of cpython? :-P Probably I'm missing something, I see upstream uses
optional too.

Anyway, LGTM, nice work!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cW04ACgkQoqBt8qM6
VPokRgf/WN3NZyGM6vPpJIsZ86HAlQHQPGOObamBaOTuCS+1ZAu3PxUaAh8AmrjU
CyN7HozCfXpyqgWgV26pSE8R7e+oJ8lYX5wt11meWMKpWndf0+EAtMKTxgM4Bzew
L+6bz5WtnUqg+tn5IF67UhdaTJtLjtW0VDz+RCbH+oj2fthQQXtI8mdNad6kdT50
8BRxmaEJQ/y/u+XGJf2pxxN8yPFolsh1yKKOFjNwofogdy5jUNSAW3MbK+qeFYgk
38KIt6LpMtYOLfYYEntnkWkPxBc7LPP6JAcPMm76XKFkfz7ToMBm7hbMBP1iE5nI
iKtGuVosTpkigwiLFLfqDBHDpmTpZw==
=32F9
-----END PGP SIGNATURE-----

T
T
Tanguy Le Carrour wrote on 27 Jul 2020 09:57
(name . Marius Bakke)(address . marius@gnu.org)(address . 42465@debbugs.gnu.org)
20200727075727.4hzpbhn7ljyjzmjr@melmoth
Hi Marius,

The emails that will follow contain the updated patch set.
I think I've addressed all the problems you reported. Thanks again!
There are two things that I'll changed:

- `python-flake8-bugbear`: I've disabled a test that fails on slow
computers like mine. Was it the proper thing to do?!
- `python-hypothesmith` now uses `python-hypothesis-5.23` even though
`python-flake8-bugbear` still uses `python-hypothesis`.

Just to make sure, I'll sum up your comments below.

* [PATCH 02/10] gnu: python-hypothesis: Update to 5.20.0.
Toggle quote (4 lines)
> This can not be applied on 'master' because Hypothesis has 6261
> dependent packages. […] you can add a different variable with the new
> hypothesis.

Done! I've updated it to 5.23.0.

* [PATCH 03/10] gnu: Add python-mypy-extensions.
* [PATCH 04/10] gnu: Add python-typing-inspect.
* [PATCH 05/10] gnu: Add python-libcst.
* [PATCH 06/10] gnu: Add python-lark-parser.
* [PATCH 07/10] gnu: Add python-hypothesmith.

Thanks for all your helpful comments regarding synopsis and description.
I'd have accepted a global "run the f@#*!g linter", though! :-)
To be honest, I'm not yet comfortable with editing the info I get from
a project's page, so I mostly copy/paste… which, I know, is bad! I'll
work on that!

* [PATCH 08/10] gnu: Add python-flake8-bugbear.
Toggle quote (3 lines)
> I realize now that hypothesmith is probably a hypothesis plugin?
> In that case it should not propagate hypothesis IMO.

Unfortunately, it does not build if I drop it.

* [PATCH 09/10] gnu: Add python-flake8-pyi.
Toggle quote (2 lines)
> No punctuation or article (you probably got that by now). :-)

Yeah, I think I'm starting to see where you're going with this! :-D

* [PATCH 10/10] gnu: Add python-mypy.
Toggle quote (3 lines)
> Perhaps s/Optional//? I mean, if it was mandatory, wouldn't it be part
> of cpython?

Removed!

I've built, installed and tested MyPy successfully! Thanks again for
your help!

--
Tanguy
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 1/9] gnu: Add python-mypy-extensions.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-1-tanguy@bioneland.org
* gnu/packages/python-check.scm (python-mypy-extensions): New variable.
---
gnu/packages/python-check.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index e96ce9e666..facdf11f07 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -771,3 +772,23 @@ it, the declaration of a name's public export semantics are not separated from
the implementation of that name.")
(license (list license:asl2.0
license:lgpl3)))) ; only for setup_helpers.py
+
+(define-public python-mypy-extensions
+ (package
+ (name "python-mypy-extensions")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy_extensions" version))
+ (sha256
+ (base32
+ "1a04qsk8hd1lqns8w1j7cr0vmvbhg450di5k1i16kqxkbf7q30id"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #f)); no tests
+ (home-page "https://github.com/python/mypy_extensions")
+ (synopsis "Experimental extensions for MyPy")
+ (description "The @code{python-mypy-extensions} module defines
+experimental extensions to the standard @code{typing} module that are
+supported by the MyPy typechecker.")
+ (license license:expat)))
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 2/9] gnu: Add python-typing-inspect.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-2-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-typing-inspect): New variable.
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3aebff078b..f47052f8b9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12297,6 +12297,27 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-typing-inspect
+ (package
+ (name "python-typing-inspect")
+ (version "0.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "typing_inspect" version))
+ (sha256
+ (base32
+ "1dzs9a1pr23dhbvmnvms2jv7l7jk26023g5ysf0zvnq8b791s6wg"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-typing-extensions" ,python-typing-extensions)))
+ (home-page "https://github.com/ilevkivskyi/typing_inspect")
+ (synopsis "API for inspection of types in the Python @code{typing} module")
+ (description
+ "The @code{typing_inspect} module defines experimental API for runtime
+inspection of types defined in the Python standard typing module.")
+ (license license:expat)))
+
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 3/9] gnu: Add python-hypothesis-5.23.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-3-tanguy@bioneland.org
* gnu/packages/check.scm (python-hypothesis-5.23): New variable.
---
gnu/packages/check.scm | 13 +++++++++++++
1 file changed, 13 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 661ed65e53..ab1839e0a2 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1824,6 +1825,18 @@ seamlessly into your existing Python unit testing work flow.")
(license license:mpl2.0)
(properties `((python2-variant . ,(delay python2-hypothesis))))))
+(define-public python-hypothesis-5.23
+ (package
+ (inherit python-hypothesis)
+ (version "5.23.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "hypothesis" version))
+ (sha256
+ (base32
+ "0sy1v6nyxg4rjcf3rlr8nalb7wqd9nccpb2lzkchbj5an13ysf1h"))))
+ (home-page "https://github.com/HypothesisWorks/hypothesis")))
+
;; This is the last version of Hypothesis that supports Python 2.
(define-public python2-hypothesis
(let ((hypothesis (package-with-python2
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 4/9] gnu: Add python-libcst.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-4-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-libcst): New variable.
---
gnu/packages/python-xyz.scm | 57 +++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f47052f8b9..5a620e3808 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12297,6 +12297,63 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-libcst
+ (package
+ (name "python-libcst")
+ (version "0.3.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "libcst" version))
+ (sha256
+ (base32
+ "05zsc61gsd2pyb6wiyh58zczndxi6rm4d2jl94rpf5cv1fzw6ks8"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda _
+ ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/346>.
+ (delete-file "libcst/tests/test_fuzz.py")
+ ;; Reported upstream: <https://github.com/Instagram/LibCST/issues/347>.
+ (delete-file "libcst/tests/test_pyre_integration.py")
+ (delete-file "libcst/codemod/tests/test_codemod_cli.py")
+ (delete-file "libcst/metadata/tests/test_full_repo_manager.py")
+ (delete-file "libcst/metadata/tests/test_type_inference_provider.py")
+ #t))
+ (add-before 'check 'generate-test-data
+ (lambda _
+ (setenv "PYTHONPATH" (string-append (getcwd) ":" (getenv "PYTHONPATH")))
+ (invoke "python" "-m" "libcst.codegen.generate" "visitors")
+ (invoke "python" "-m" "libcst.codegen.generate" "return_types")))
+ (replace 'check
+ (lambda _
+ (invoke "python" "-m" "unittest")
+ #t)))))
+ (native-inputs
+ `(("python-black" ,python-black)
+ ("python-isort" ,python-isort)))
+ (propagated-inputs
+ `(("python-typing-extensions" ,python-typing-extensions)
+ ("python-typing-inspect" ,python-typing-inspect)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "https://github.com/Instagram/LibCST")
+ (synopsis "Concrete Syntax Tree (CST) parser and serializer library for Python")
+ (description
+ "LibCST parses Python source code as a CST tree that keeps all
+formatting details (comments, whitespaces, parentheses, etc). It's useful
+for building automated refactoring (codemod) applications and linters.
+LibCST creates a compromise between an Abstract Syntax Tree (AST) and
+a traditional Concrete Syntax Tree (CST). By carefully reorganizing and
+naming node types and fields, LibCST creates a lossless CST that looks and
+feels like an AST.")
+ (license (list license:expat
+ ;; Some files unde libcst/_parser/ are under Python Software
+ ;; Foundation license (see LICENSE file for details)
+ license:psfl
+ ;; libcst/_add_slots.py
+ license:asl2.0))))
+
(define-public python-typing-inspect
(package
(name "python-typing-inspect")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 5/9] gnu: Add python-lark-parser.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-5-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-lark-parser): 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 5a620e3808..e67ba783fe 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12297,6 +12297,26 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-lark-parser
+ (package
+ (name "python-lark-parser")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "lark-parser" version))
+ (sha256
+ (base32
+ "1kd61asrb3h9spgsj4bslfbgp8q4271sw3hblk6f2vbbblv8jxcy"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/lark-parser/lark")
+ (synopsis "Multi-language parser for Python")
+ (description
+ "Lark is a parser built with a focus on ergonomics, performance and
+resilience. Lark can parse all context-free languages. That means it is
+capable of parsing almost any programming language out there, and to
+some degree most natural languages too.")
+ (license license:expat)))
+
(define-public python-libcst
(package
(name "python-libcst")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 8/9] gnu: Add python-flake8-pyi.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-8-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-flake8-pyi): New variable.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7015c20b4e..db470d3440 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7989,6 +7989,36 @@ plugins that intend to support Flake8 2.x and 3.x simultaneously.")
(define-public python2-flake8-polyfill
(package-with-python2 python-flake8-polyfill))
+(define-public python-flake8-pyi
+ (package
+ (name "python-flake8-pyi")
+ (version "20.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8-pyi" version))
+ (sha256
+ (base32
+ "1zpq4s9kp8w95pccmhhyyx1ff2zhnidcf1zb3xs46lzcx9plvnzk"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)
+ ("python-pyflakes" ,python-pyflakes)))
+ (home-page "https://github.com/ambv/flake8-pyi")
+ (synopsis
+ "Flake8 plugin that provides specializations for type hinting stub files")
+ (description
+ "This package contains a plugin that provides specializations for
+type hinting stub files, especially interesting for linting typeshed. It
+adds the @file{.pyi} extension to the default value of the @code{--filename}
+command-line argument to Flake8. This means stubs are linted by default with
+this plugin enabled, without needing to explicitly list every file. It
+modifies PyFlakes runs for @file{.pyi} files to defer checking type annotation
+expressions after the entire file has been read. This enables support for
+first-class forward references that stub files use.")
+ (license license:expat)))
+
(define-public python-mistune
(package
(name "python-mistune")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 9/9] gnu: Add python-mypy.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-9-tanguy@bioneland.org
* gnu/packages/python-check.scm (python-mypy): New variable.
---
gnu/packages/python-check.scm | 50 +++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)

Toggle diff (67 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index facdf11f07..c4c91d21e9 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -792,3 +793,52 @@ the implementation of that name.")
experimental extensions to the standard @code{typing} module that are
supported by the MyPy typechecker.")
(license license:expat)))
+
+(define-public python-mypy
+ (package
+ (name "python-mypy")
+ (version "0.782")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy" version))
+ (sha256
+ (base32
+ "030kn709515452n6gy2i1d9fg6fyrkmdz228lfpmbslybsld9xzg"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "./runtests.py")
+ #t)))))
+ (native-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)
+ ("python-flake8-bugbear" ,python-flake8-bugbear)
+ ("python-flake8-pyi" ,python-flake8-pyi)
+ ("python-importlib-metadata" ,python-importlib-metadata)
+ ("python-lxml" ,python-lxml)
+ ("python-psutil" ,python-psutil)
+ ("python-py" ,python-py)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-forked" ,python-pytest-forked)
+ ("python-pytest-xdist" ,python-pytest-xdist)
+ ("python-virtualenv" ,python-virtualenv)))
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-typing-extensions" ,python-typing-extensions)
+ ("python-typed-ast" ,python-typed-ast)))
+ (home-page "http://www.mypy-lang.org/")
+ (synopsis "Static type checker for Python")
+ (description "Mypy is an optional static type checker for Python that aims
+to combine the benefits of dynamic (or 'duck') typing and static typing. Mypy combines
+the expressive power and convenience of Python with a powerful type system and
+compile-time type checking. Mypy type checks standard Python programs; run them using
+any Python VM with basically no runtime overhead.")
+ ;; Most of the code is under MIT license; Some files are under Python Software
+ ;; Foundation License version 2: stdlib-samples/*, mypyc/lib-rt/pythonsupport.h and
+ ;; mypyc/lib-rt/getargs.c
+ (license (list license:expat license:psfl))))
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 6/9] gnu: Add python-hypothesmith.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-6-tanguy@bioneland.org
* gnu/packages/check.scm (python-hypothesmith): New variable.
---
gnu/packages/check.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index ab1839e0a2..eb12383887 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1853,6 +1853,29 @@ seamlessly into your existing Python unit testing work flow.")
`(("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs hypothesis))))))
+(define-public python-hypothesmith
+ (package
+ (name "python-hypothesmith")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hypothesmith" version))
+ (sha256
+ (base32
+ "09331sspknv459xcyn1k0lx5flqlc6gmnwp9370pfvg4kg1zmss6"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-hypothesis" ,python-hypothesis-5.23)
+ ("python-lark-parser" ,python-lark-parser)
+ ("python-libcst" ,python-libcst)))
+ (home-page "https://github.com/Zac-HD/hypothesmith")
+ (synopsis "Strategies for generating Python programs")
+ (description
+ "This package contains hypothesis strategies for generating Python
+programs, something like CSmith, a random generator of C programs.")
+ (license license:mpl2.0)))
+
(define-public python-lit
(package
(name "python-lit")
--
2.27.0
T
T
Tanguy Le Carrour wrote on 27 Jul 2020 10:00
[PATCH v3 7/9] gnu: Add python-flake8-bugbear.
(address . 42465@debbugs.gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200727080051.19383-7-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-flake8-bugbear): New variable.
---
gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e67ba783fe..7015c20b4e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7910,6 +7910,42 @@ complexity of Python source code.")
("python-pyflakes" ,python-pyflakes-1.2)
("python-mccabe" ,python-mccabe)))))
+(define-public python-flake8-bugbear
+ (package
+ (name "python-flake8-bugbear")
+ (version "20.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8-bugbear" version))
+ (sha256
+ (base32
+ "0qiihb242fygzyrfynq913ak7cdmx8mcac9c0zk3y5gv16qf80mx"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'disable-test
+ (lambda _
+ ;; This test fails on slow computers.
+ (substitute* "tests/test_bugbear.py"
+ (("def test_does_not_crash_on_any_valid_code")
+ "def _test_does_not_crash_on_any_valid_code")))))))
+ (native-inputs
+ `(("python-hypothesis" ,python-hypothesis)
+ ("python-hypothesmith" ,python-hypothesmith)))
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-flake8" ,python-flake8)))
+ (home-page "https://github.com/PyCQA/flake8-bugbear")
+ (synopsis
+ "Flake8 plugin for finding likely bugs and design problems in your program")
+ (description
+ "This package contains a plugin for Flake8 finding likely bugs and
+design problems in your program. It contains warnings that don't belong
+in pyflakes and pycodestyle.")
+ (license license:expat)))
+
(define-public python-flake8-polyfill
(package
(name "python-flake8-polyfill")
--
2.27.0
M
M
Marius Bakke wrote on 30 Jul 2020 00:20
Re: [bug#42465] [PATCH 10/10] gnu: Add python-mypy.
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)(address . 42465-done@debbugs.gnu.org)
87h7tqq7yk.fsf@gnu.org
Tanguy Le Carrour <tanguy@bioneland.org> writes:

Toggle quote (20 lines)
> Hi Marius,
>
> The emails that will follow contain the updated patch set.
> I think I've addressed all the problems you reported. Thanks again!
> There are two things that I'll changed:
>
> - `python-flake8-bugbear`: I've disabled a test that fails on slow
> computers like mine. Was it the proper thing to do?!
> - `python-hypothesmith` now uses `python-hypothesis-5.23` even though
> `python-flake8-bugbear` still uses `python-hypothesis`.
>
> Just to make sure, I'll sum up your comments below.
>
> * [PATCH 02/10] gnu: python-hypothesis: Update to 5.20.0.
>> This can not be applied on 'master' because Hypothesis has 6261
>> dependent packages. […] you can add a different variable with the new
>> hypothesis.
>
> Done! I've updated it to 5.23.0.

Great. :-)

Toggle quote (9 lines)
> * [PATCH 03/10] gnu: Add python-mypy-extensions.
> * [PATCH 04/10] gnu: Add python-typing-inspect.
> * [PATCH 05/10] gnu: Add python-libcst.
> * [PATCH 06/10] gnu: Add python-lark-parser.
> * [PATCH 07/10] gnu: Add python-hypothesmith.
>
> Thanks for all your helpful comments regarding synopsis and description.
> I'd have accepted a global "run the f@#*!g linter", though! :-)

Heheh. I have become linter.

Toggle quote (4 lines)
> To be honest, I'm not yet comfortable with editing the info I get from
> a project's page, so I mostly copy/paste… which, I know, is bad! I'll
> work on that!

I find it is often the most difficult part of packaging. How to convey
[upstream description] in [neutral language for noob]. Occasionally
I'll peek at Debians description which are typically pretty good (but
don't tell anyone!).

Toggle quote (6 lines)
> * [PATCH 08/10] gnu: Add python-flake8-bugbear.
>> I realize now that hypothesmith is probably a hypothesis plugin?
>> In that case it should not propagate hypothesis IMO.
>
> Unfortunately, it does not build if I drop it.

Ah right, I was not entirely clear. I meant the Hypothesis input should
probably be native (for tests), but not propagated so that other
packages could use it with other Hypothesis versions. Making plugin
packages not propagate the package they "plug in to" is a favorite
nit-pick of mine, often causing great confusion...

This case is complicated since Hypothesmith depends on a newer version
of Hypothesis, maybe the plugin only works with that newer version? In
which case propagating makes a lot of sense. Anyway it's not a big deal
either way, so let's not go there. :-)

Toggle quote (14 lines)
> * [PATCH 09/10] gnu: Add python-flake8-pyi.
>> No punctuation or article (you probably got that by now). :-)
>
> Yeah, I think I'm starting to see where you're going with this! :-D
>
> * [PATCH 10/10] gnu: Add python-mypy.
>> Perhaps s/Optional//? I mean, if it was mandatory, wouldn't it be part
>> of cpython?
>
> Removed!
>
> I've built, installed and tested MyPy successfully! Thanks again for
> your help!

Awesome, I applied the series as-is. Thanks for your work!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8h9jMACgkQoqBt8qM6
VPqW+wf/fvp5+aS7EJSNdV7zzMDn9U6gbxwYPUjoqy4JNfeBrPCy8Vvdljh7NF6N
OEUC71xB/oEd4Zj/x5NOUjLx/DrRZLwzoFlELlJyFuwNSWRYbYLBKDUPXrusU7YV
26J6Gj1WNqXWcxumeEuZgVVyQwstknZVZ3tRL5s/TODnHYPC/anDcFdtSJPE7Gyo
tu6AgtVoW9vy3clNjLkwmdO4cep/q2wO8sjR/EqxdunVDoHUKBYBcnDr3JvHsedV
EKSshRTZH7yjkX57c0hWFXqe0Fqns5brtySajyvZ5fmjTAoL8+1ALMqgzXsUpHEO
oCbwrFqG5UGAS0+0y2bpM3qzKorXPw==
=asEq
-----END PGP SIGNATURE-----

Closed
T
T
Tanguy Le Carrour wrote on 30 Jul 2020 08:36
(name . Marius Bakke)(address . marius@gnu.org)(address . 42465-done@debbugs.gnu.org)
20200730063650.7ty2hhaubenqquuz@rafflesia
Le 07/30, Marius Bakke a écrit :
Toggle quote (11 lines)
> Tanguy Le Carrour <tanguy@bioneland.org> writes:
> > […]
> > To be honest, I'm not yet comfortable with editing the info I get from
> > a project's page, so I mostly copy/paste… which, I know, is bad! I'll
> > work on that!
>
> I find it is often the most difficult part of packaging. How to convey
> [upstream description] in [neutral language for noob]. Occasionally
> I'll peek at Debians description which are typically pretty good (but
> don't tell anyone!).

I promise I won't tell anyone! This will stay between you, me and the internet! ;-)


Toggle quote (17 lines)
> > * [PATCH 08/10] gnu: Add python-flake8-bugbear.
> >> I realize now that hypothesmith is probably a hypothesis plugin?
> >> In that case it should not propagate hypothesis IMO.
> >
> > Unfortunately, it does not build if I drop it.
>
> Ah right, I was not entirely clear. I meant the Hypothesis input should
> probably be native (for tests), but not propagated so that other
> packages could use it with other Hypothesis versions. Making plugin
> packages not propagate the package they "plug in to" is a favorite
> nit-pick of mine, often causing great confusion...
>
> This case is complicated since Hypothesmith depends on a newer version
> of Hypothesis, maybe the plugin only works with that newer version? In
> which case propagating makes a lot of sense. Anyway it's not a big deal
> either way, so let's not go there. :-)

I'll keep that for later! I think I have to sleep on the idea… several
nights! ^_^'


Toggle quote (5 lines)
> > I've built, installed and tested MyPy successfully! Thanks again for
> > your help!
>
> Awesome, I applied the series as-is. Thanks for your work!

Thanks!!


--
Tanguy
Closed
?