1{ lib
2, buildPythonPackage
3, docstring-to-markdown
4, fetchFromGitHub
5, jedi
6, lsprotocol
7, poetry-core
8, pygls
9, pydantic
10, pyhamcrest
11, pytestCheckHook
12, python-jsonrpc-server
13, pythonOlder
14, pythonRelaxDepsHook
15}:
16
17buildPythonPackage rec {
18 pname = "jedi-language-server";
19 version = "0.40.0";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "pappasam";
26 repo = pname;
27 rev = "refs/tags/v${version}";
28 hash = "sha256-+3VgONZzlobgs4wujCaGTTYpIgYrWgWwYgKQqirS7t8=";
29 };
30
31 pythonRelaxDeps = [
32 "pygls"
33 ];
34
35 nativeBuildInputs = [
36 poetry-core
37 pythonRelaxDepsHook
38 ];
39
40 propagatedBuildInputs = [
41 docstring-to-markdown
42 jedi
43 lsprotocol
44 pydantic
45 pygls
46 ];
47
48 nativeCheckInputs = [
49 pytestCheckHook
50 pyhamcrest
51 python-jsonrpc-server
52 ];
53
54 preCheck = ''
55 HOME="$(mktemp -d)"
56 '';
57
58 pythonImportsCheck = [
59 "jedi_language_server"
60 ];
61
62 meta = with lib; {
63 description = "A Language Server for the latest version(s) of Jedi";
64 homepage = "https://github.com/pappasam/jedi-language-server";
65 changelog = "https://github.com/pappasam/jedi-language-server/blob/${version}/CHANGELOG.md";
66 license = licenses.mit;
67 maintainers = with maintainers; [ doronbehar ];
68 };
69}