1{ lib
2, stdenv
3, buildPythonPackage
4, pythonAtLeast
5, pythonOlder
6, fetchFromGitHub
7, attrs
8, django_3
9, pytestCheckHook
10, parso
11}:
12
13buildPythonPackage rec {
14 pname = "jedi";
15 version = "0.18.2";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.6";
19
20 src = fetchFromGitHub {
21 owner = "davidhalter";
22 repo = "jedi";
23 rev = "v${version}";
24 hash = "sha256-hNRmUFpRzVKJQAtfsSNV4jeTR8vVj1+mGBIPO6tUGto=";
25 fetchSubmodules = true;
26 };
27
28 propagatedBuildInputs = [ parso ];
29
30 nativeCheckInputs = [
31 attrs
32 django_3
33 pytestCheckHook
34 ];
35
36 preCheck = ''
37 export HOME=$TMPDIR
38 '';
39
40 disabledTests = [
41 # sensitive to platform, causes false negatives on darwin
42 "test_import"
43 ] ++ lib.optionals (stdenv.isAarch64 && pythonOlder "3.9") [
44 # AssertionError: assert 'foo' in ['setup']
45 "test_init_extension_module"
46 ] ++ lib.optionals (pythonAtLeast "3.11") [
47 # disabled until 3.11 is added to _SUPPORTED_PYTHONS in jedi/api/environment.py
48 "test_find_system_environments"
49
50 # disabled until https://github.com/davidhalter/jedi/issues/1858 is resolved
51 "test_interpreter"
52 "test_scanning_venvs"
53 "test_create_environment_venv_path"
54 "test_create_environment_executable"
55 "test_venv_and_pths"
56 ];
57
58 meta = with lib; {
59 description = "An autocompletion tool for Python that can be used for text editors";
60 homepage = "https://github.com/davidhalter/jedi";
61 changelog = "https://github.com/davidhalter/jedi/blob/${version}/CHANGELOG.rst";
62 license = licenses.mit;
63 maintainers = with maintainers; [ ];
64 };
65}