From 85c5e955fafed37a3ccc227482c31c9645d63b52 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 9 Aug 2024 20:21:59 +0200 Subject: [PATCH] feat: add python lsp --- ruther/packages/python-lsp-server.scm | 111 ++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 ruther/packages/python-lsp-server.scm diff --git a/ruther/packages/python-lsp-server.scm b/ruther/packages/python-lsp-server.scm new file mode 100644 index 0000000..e99e7bb --- /dev/null +++ b/ruther/packages/python-lsp-server.scm @@ -0,0 +1,111 @@ +(define-module (ruther packages python-lsp-server) + #:use-module ((guix licenses) #: license:) + #:use-module (guix utils) + + #:use-module (guix gexp) + + #:use-module (guix git-download) + #:use-module (guix download) + + #:use-module (guix build-system cargo) + + #:use-module (gnu packages crates-io) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages compression) + #:use-module (gnu packages video) + #:use-module (gnu packages haskell-xyz) + #:use-module (gnu packages pdf) + #:use-module (gnu packages rust-apps) + #:use-module (gnu packages terminals) + + #:export (python-lsp-jsonrpc-1.1.2 + python-docstring-to-markdown + python-lsp-server-1.11.0 + python-pylsp-mypy)) + +(define-public python-lsp-jsonrpc-1.1.2 + (package + (name "python-lsp-jsonrpc") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-lsp-jsonrpc" version)) + (sha256 + (base32 "04n95h0cqnsrdyh1gv0abh2i5ynyrq2wfqpppx9djp7mxr9y9226")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-ujson)) + (native-inputs (list python-coverage + python-setuptools-scm + python-pycodestyle + python-pyflakes + python-pylint + python-pytest + python-pytest-cov)) + (home-page "https://github.com/python-lsp/python-lsp-jsonrpc") + (synopsis "JSON RPC 2.0 server library") + (description + "This package provides a JSON RPC 2.0 server library for Python.") + (license #f))) + + +(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 pyproject-build-system) + (home-page "") + (synopsis "On the fly conversion of Python docstrings to markdown") + (description "On the fly conversion of Python docstrings to markdown.") + (license #f))) + +(define-public python-lsp-server-1.11.0 + (package/inherit python-lsp-server + (version "1.11.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-lsp-server" version)) + (sha256 + (base32 "11lf7c9dpf8jzz5y7dllz8l1lka887m9a79xbazy8lkq7zxxdvc9")))) + (arguments + '(#:tests? #f)) + (propagated-inputs (list python-docstring-to-markdown + python-setuptools-scm + python-importlib-metadata + python-jedi + python-pluggy + python-lsp-jsonrpc-1.1.2 + python-ujson)) + (native-inputs (list python-coverage + python-flaky + python-matplotlib + python-numpy + python-pandas + python-pylint)) +)) + +(define-public python-pylsp-mypy + (package + (name "python-pylsp-mypy") + (version "0.6.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pylsp-mypy" version)) + (sha256 + (base32 "0pxx85nms0zs54s1rlrkpkharkkiqcqzxi9q1vjm7qnp0z50g0rz")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-mypy python-lsp-server-1.11.0 python-tomli)) + (native-inputs (list python-coverage python-pytest python-pytest-cov + python-tox)) + (home-page "https://github.com/python-lsp/pylsp-mypy") + (synopsis "Mypy linter for the Python LSP Server") + (description "Mypy linter for the Python LSP Server.") + (license #f))) -- 2.48.1