[PATCH] Update python-lsp-server

  • Open
  • quality assurance status badge
Details
One participant
  • Jonathan Pieper
Owner
unassigned
Submitted by
Jonathan Pieper
Severity
normal
J
J
Jonathan Pieper wrote on 15 Apr 19:34 +0200
(address . guix-patches@gnu.org)
87sezmsf33.fsf@mailbox.org
Hi!

This patch series updates the python-lsp-server to 1.11.0.
The packages python-rope, python-snowballstemmer, python-lsp-jsonrpc and python-pydocstyle have been updated and python-docstring-to-markdown and python-pytoolconfig were added and they all build reproducible (with --rounds=2 --check).

I have also taken steps to ensure compatibility by rebuild Guix and checking dependent packages using guix refresh --list-dependent the the best extend possible.

It's important to note that there are numerous packages dependent on python-pydocstyle. Some of these packages are currently failing to build on the master branch. Additionally, due to limited resources on my local machine, some packages could not be build (issues included out of memory error and exceeded maximum silent time of 2 hours). However, there is no indication to suggest that the updates to python-pydocstyle are causing any new build failures.

--
Best regards,
Jonathan Pieper
J
J
Jonathan Pieper wrote on 15 Apr 19:45 +0200
[PATCH 1/7] gnu: Add python-docstring-to-markdown.
(address . 70400@debbugs.gnu.org)(name . Jonathan Pieper)(address . jpieper@mailbox.org)
7d0ec10d21258d9f858f9c9fe2cde132d4a06106.1713203110.git.jpieper@mailbox.org
* gnu/packages/python-xyz.scm (python-docstring-to-markdown): New variable.
---
gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 92566abfed..9521119a84 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1376,6 +1376,25 @@ (define-public python-mkdocs-markdownextradata-plugin
variables into the markdown template")
(license license:expat)))
+(define-public python-docstring-to-markdown
+ (package
+ (name "python-docstring-to-markdown")
+ (version "0.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "docstring-to-markdown" version))
+ (sha256
+ (base32 "0gdpabnyl1kyy0cjrnph6xl4fyhgim50a1amsaqq3hahki6i2ip1"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/python-lsp/docstring-to-markdown")
+ (synopsis "On the fly conversion of Python docstrings to markdown")
+ (description
+ "This module can convert Python docstrings to Markdown.
+It can recognise reStructuredText inside docstrings and convert multiple of its
+features to Markdown. It also includes initial support for Google-formatted docstrings.")
+ (license license:lgpl2.1+)))
+
(define-public python-mysql-connector-python
(package
(name "python-mysql-connector-python")

base-commit: 6b3c90f638292f9604a221ac6dbf22234f6e4c4b
--
2.41.0
J
J
Jonathan Pieper wrote on 15 Apr 19:45 +0200
[PATCH 2/7] gnu: Add python-pytoolconfig.
(address . 70400@debbugs.gnu.org)(name . Jonathan Pieper)(address . jpieper@mailbox.org)
06a250000a633c62b5d806c8849b94ed7b84fb3d.1713203110.git.jpieper@mailbox.org
* gnu/packages/python-xyz.scm (python-pytoolconfig): New variable.
---
gnu/packages/python-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

Toggle diff (65 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9521119a84..27107c3d8f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -36309,6 +36309,58 @@ (define-public python-zeroc-ice-3.6
(base32
"0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2"))))))
+(define-public python-pytoolconfig
+ (package
+ (name "python-pytoolconfig")
+ (version "1.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytoolconfig" version))
+ (sha256
+ (base32 "18isxi4ijarl949d0zmf0b4606r6hihpi3p5yb7763m4c7ra24i5"))))
+ (build-system pyproject-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'update-license
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("license-expression = (\"[^\"]*\")" all license)
+ (string-append "license = {text = " license "}")))))
+ (add-after 'unpack 'remove-mypy
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("^.*mypy.*")
+ "")
+ (("strict = true")
+ ""))))
+ (add-after 'unpack 'use-pdm-backend-instead-of-pep517
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("pdm-pep517")
+ "pdm-backend")
+ (("pdm\\.pep517\\.api")
+ "pdm.backend"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Disable failing test.
+ (invoke "python" "-m" "pytest" "-k"
+ "not test_documentation")))))))
+ (native-inputs (list python-pdm-backend
+ python-tomli
+ python-pytest
+ python-docutils
+ python-sphinx
+ python-tabulate))
+ (propagated-inputs (list python-appdirs))
+ (home-page "https://github.com/bagel897/pytoolconfig")
+ (synopsis "Python Tool Configuration")
+ (description
+ "This module manages configuration for python tools,
+such as rope and add support for a pyproject.toml configuration file.")
+ (license license:lgpl3+)))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
--
2.41.0
J
J
Jonathan Pieper wrote on 15 Apr 19:45 +0200
[PATCH 4/7] gnu: python-snowballstemmer: Update to 2.2.0.
(address . 70400@debbugs.gnu.org)(name . Jonathan Pieper)(address . jpieper@mailbox.org)
c2d0e72ff711f56f6a0c5a13de0de7bc050e34da.1713203110.git.jpieper@mailbox.org
* gnu/packages/python-xyz.scm (python-snowballstemmer): Update to 2.2.0.
---
gnu/packages/python-xyz.scm | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e0817e4c9d..82833e876b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -22562,20 +22562,21 @@ (define-public python-random2
(define-public python-snowballstemmer
(package
(name "python-snowballstemmer")
- (version "2.0.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "snowballstemmer" version))
- (sha256
- (base32
- "0ligk61idlz8kkgd5hpip5whm172riwglb6xydii7h62yhysqfyz"))))
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "snowballstemmer" version))
+ (sha256
+ (base32 "1ccwy75i0f5yi1vy6fyvr1gf43ydhjani45mswm43ls7hpmnvc89"))))
(build-system python-build-system)
(arguments
- `(;; No tests exist
- #:tests? #f))
+ `( ;No tests exist
+ #:tests? #f))
(home-page "https://github.com/shibukawa/snowball_py")
(synopsis "Snowball stemming library collection for Python")
- (description "This package provides 16 word stemmer algorithms generated
+ (description
+ "This package provides 16 word stemmer algorithms generated
from Snowball algorithms. It includes the 15 original ones plus the Poerter
English stemmer.")
(license license:bsd-3)))
--
2.41.0
J
J
Jonathan Pieper wrote on 15 Apr 19:45 +0200
[PATCH 3/7] gnu: python-lsp-jsonrpc: Update to 1.1.2.
(address . 70400@debbugs.gnu.org)(name . Jonathan Pieper)(address . jpieper@mailbox.org)
5563651b86d1e60edc8c173091918d87ba693831.1713203110.git.jpieper@mailbox.org
* gnu/packages/python-xyz.scm (python-lsp-jsonrpc): Update to 1.1.2.
[build-system]: Change to pyproject-build-system.
[arguments]{set-version}: Set version explicitly to pass sanity-check.
[native-inputs]: Add python-pytest-cov.

Change-Id: I3ffaf75ced25bd95d8f7486294364fb52b86b08b
---
gnu/packages/python-xyz.scm | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 27107c3d8f..e0817e4c9d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7559,19 +7559,24 @@ (define-public python-feedgenerator
(define-public python-lsp-jsonrpc
(package
(name "python-lsp-jsonrpc")
- (version "1.0.0")
+ (version "1.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-lsp-jsonrpc" version))
(sha256
- (base32
- "1gb0fsamxndhplx25v8m0b3k7aknzy454fpa0qsqsqnv6c3igv3v"))))
- (build-system python-build-system)
- (native-inputs
- (list python-mock python-pytest))
- (propagated-inputs
- (list python-ujson))
+ (base32 "04n95h0cqnsrdyh1gv0abh2i5ynyrq2wfqpppx9djp7mxr9y9226"))))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'set-version
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("dynamic = \\[\"version\"\\]")
+ (string-append "version = \""
+ ,version "\""))))))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-mock python-pytest python-pytest-cov))
+ (propagated-inputs (list python-ujson))
(home-page "https://github.com/python-lsp/python-lsp-jsonrpc")
(synopsis "JSON RPC 2.0 server library")
(description
--
2.41.0
J
J
Jonathan Pieper wrote on 15 Apr 19:45 +0200
[PATCH 5/7] gnu: python-pydocstyle: Update to 6.3.0.
(address . 70400@debbugs.gnu.org)(name . Jonathan Pieper)(address . jpieper@mailbox.org)
cc934db396a442b5f86498e85ded4d3ec94d1850.1713203110.git.jpieper@mailbox.org
* gnu/packages/python-xyz.scm (python-pydocstyle): Update to 6.3.0.

Change-Id: I1c2bfcee80cbdac33adaf08968276954d72182dc
---
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 82833e876b..33410c0a06 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7852,14 +7852,14 @@ (define-public python-pydoc-markdown
(define-public python-pydocstyle
(package
(name "python-pydocstyle")
- (version "3.0.0")
+ (version "6.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pydocstyle" version))
(sha256
(base32
- "1m1xv9clkg9lgzyza6dnj359z04vh5g0h49nhzghv7lg81gchhap"))))
+ "1qa4gqmwgvakdd6j0zw0fvr6ygmpq1ib9h5r9r4hfyy81863zr3w"))))
(build-system python-build-system)
(propagated-inputs
(list python-six python-snowballstemmer))
--
2.41.0
J
J
Jonathan Pieper wrote on 15 Apr 19:45 +0200
[PATCH 6/7] gnu: python-rope: Update to 1.13.0.
(address . 70400@debbugs.gnu.org)(name . Jonathan Pieper)(address . jpieper@mailbox.org)
cda478d3dcc7af02cf45bca45b6211d124b50f2a.1713203110.git.jpieper@mailbox.org
* gnu/packages/python-xyz.scm (python-rope): Update to 1.13.0.
[arguments]{disable-broken-tests}: Disable test_hint_or.
[propagated-inputs]: Add python-pytoolconfig.

Change-Id: I0717c76631ca744a0f601734f707f45fa05b62c2
---
gnu/packages/python-xyz.scm | 34 ++++++++++++++++++----------------
1 file changed, 18 insertions(+), 16 deletions(-)

Toggle diff (56 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 33410c0a06..cead2adb44 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20057,31 +20057,33 @@ (define-public python-cysignals
(define-public python-rope
(package
(name "python-rope")
- (version "1.1.1")
+ (version "1.13.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rope" version))
(sha256
- (base32
- "0bkzwkllxxdxd3w70xiy137lqvnlmmaplsc2ya3s23ss4kq8y10k"))))
+ (base32 "1078mkzivz45my8x2y5gxisr0vba630xj7yxx7anr068xhnpshsi"))))
(build-system python-build-system)
(arguments
- (list #:phases
- `(modify-phases %standard-phases
- (add-after 'unpack 'disable-broken-test
- (lambda _
- (substitute* "ropetest/contrib/autoimporttest.py"
- (("def test_search_module")
- "def __notest_search_module")
- (("def test_search_submodule")
- "def __notest_search_submodule")))))))
- (native-inputs
- (list python-pytest-timeout
- python-pytest))
+ (list
+ #:phases `(modify-phases %standard-phases
+ (add-after 'unpack 'disable-broken-test
+ (lambda _
+ (substitute* "ropetest/contrib/autoimporttest.py"
+ (("def test_search_module")
+ "def __notest_search_module")
+ (("def test_search_submodule")
+ "def __notest_search_submodule"))
+ (substitute* "ropetest/type_hinting_test.py"
+ (("def test_hint_or")
+ "def __notest_hint_or")))))))
+ (native-inputs (list python-pytest-timeout python-pytest))
+ (propagated-inputs (list python-pytoolconfig))
(home-page "https://github.com/python-rope/rope")
(synopsis "Refactoring library for Python")
- (description "Rope is a refactoring library for Python. It facilitates
+ (description
+ "Rope is a refactoring library for Python. It facilitates
the renaming, moving and extracting of attributes, functions, modules, fields
and parameters in Python source code. These refactorings can also be applied
to occurrences in strings and comments.")
--
2.41.0
J
J
Jonathan Pieper wrote on 15 Apr 19:45 +0200
[PATCH 7/7] gnu: python-lsp-server: Update to 1.11.0.
(address . 70400@debbugs.gnu.org)(name . Jonathan Pieper)(address . jpieper@mailbox.org)
7084c71bde60c693444abd0631acf1537b5ab86b.1713203110.git.jpieper@mailbox.org
* gnu/packages/python-xyz.scm (python-lsp-server): Update to 1.11.0.
[build-system]: Change to pyproject-build-system.
[arguments]{set-version}: Set version explicitly to pass sanity-check.
{check}: Do not replace it as test_pyqt_completion is no longer failing.
[propagated-inputs]: Remove python-future and add python-docstring-to-markdown.
[native-inputs]: Remove python-mock, python-versioneer and add python-whatthepatch, python-pyqt.

Change-Id: I937730caaae394141af13881a107157868b18bab
---
gnu/packages/python-xyz.scm | 75 ++++++++++++++++++-------------------
1 file changed, 37 insertions(+), 38 deletions(-)

Toggle diff (104 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cead2adb44..586d83a8cb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -152,6 +152,7 @@
;;; Copyright © 2024 Adriel Dumas--Jondeau <leirda@disroot.org>
;;; Copyright © 2024 Navid Afkhami <navid.afkhami@mdc-berlin.de>
;;; Copyright © 2024 TakeV <takev@disroot.org>
+;;; Copyright © 2024 Jonathan Pieper <jpieper@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -7874,53 +7875,51 @@ (define-public python-pydocstyle
(define-public python-lsp-server
(package
(name "python-lsp-server")
- (version "1.3.3")
+ (version "1.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-lsp-server" version))
(sha256
- (base32
- "0h6wxzmm6qjfwkkn3mnzn1fpmcp23fpbk74bi8p540q1nzccqj0v"))))
- (build-system python-build-system)
+ (base32 "11lf7c9dpf8jzz5y7dllz8l1lka887m9a79xbazy8lkq7zxxdvc9"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-HOME
- (lambda _ (setenv "HOME" "/tmp")))
- (replace 'check
- (lambda _
- ;; Disable failing test.
- (invoke "python" "-m" "pytest" "-k"
- "not test_pyqt_completion"))))))
- (propagated-inputs
- (list python-autopep8
- python-pydocstyle
- python-flake8
- python-future
- python-jedi
- python-lsp-jsonrpc
- python-pluggy
- python-pycodestyle
- python-pyflakes
- python-rope
- python-ujson
- python-yapf))
- (native-inputs
- (list python-coverage
- python-flaky
- python-matplotlib
- python-mock
- python-numpy
- python-pandas
- python-pylint
- python-pytest
- python-pytest-cov
- python-versioneer))
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'set-version
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("dynamic = \\[\"version\"\\]")
+ (string-append "version = \""
+ ,version "\"")))))
+ (add-before 'check 'set-HOME
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (propagated-inputs (list python-autopep8
+ python-docstring-to-markdown
+ python-pydocstyle
+ python-flake8
+ python-jedi
+ python-lsp-jsonrpc
+ python-pluggy
+ python-pycodestyle
+ python-pyflakes
+ python-rope
+ python-ujson
+ python-yapf))
+ (native-inputs (list python-coverage
+ python-flaky
+ python-matplotlib
+ python-numpy
+ python-pandas
+ python-pylint
+ python-pyqt
+ python-pytest
+ python-pytest-cov
+ python-whatthepatch))
(home-page "https://github.com/python-lsp/python-lsp-server")
(synopsis "Python implementation of the Language Server Protocol")
(description
-"The Python Language Server @command{pylsp} is an implementation of the
+ "The Python Language Server @command{pylsp} is an implementation of the
Python 3 language specification for the Language Server Protocol (LSP).
This tool is used in text editing environments to provide a complete
and integrated feature-set for programming Python effectively.")
--
2.41.0
?