1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, setuptools-scm
6, pydantic
7, toml
8, typeguard
9, mock
10, pytest-asyncio
11, pytestCheckHook
12}:
13
14buildPythonPackage rec {
15 pname = "pygls";
16 version = "0.12.3";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "openlawlibrary";
23 repo = "pygls";
24 rev = "refs/tags/v${version}";
25 sha256 = "sha256-RtoRIfPIbERQFx0GzQqsxnKAMsIK5Zbf2sNtHhC2fmo=";
26 };
27
28 SETUPTOOLS_SCM_PRETEND_VERSION = version;
29 nativeBuildInputs = [ setuptools-scm ];
30
31 propagatedBuildInputs = [
32 pydantic
33 toml
34 typeguard
35 ];
36
37 checkInputs = [
38 mock
39 pytest-asyncio
40 pytestCheckHook
41 ];
42
43 # Fixes hanging tests on Darwin
44 __darwinAllowLocalNetworking = true;
45
46 pythonImportsCheck = [ "pygls" ];
47
48 meta = with lib; {
49 description = "Pythonic generic implementation of the Language Server Protocol";
50 homepage = "https://github.com/openlawlibrary/pygls";
51 license = licenses.asl20;
52 maintainers = with maintainers; [ kira-bruneau ];
53 };
54}