1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 pythonOlder,
6 fetchFromGitHub,
7
8 # build-system
9 setuptools,
10
11 # dependencies
12 parso,
13
14 # tests
15 attrs,
16 pytestCheckHook,
17}:
18
19buildPythonPackage rec {
20 pname = "jedi";
21 version = "0.19.2";
22 pyproject = true;
23
24 disabled = pythonOlder "3.6";
25
26 src = fetchFromGitHub {
27 owner = "davidhalter";
28 repo = "jedi";
29 rev = "v${version}";
30 hash = "sha256-2nDQJS6LIaq91PG3Av85OMFfs1ZwId00K/kvog3PGXE=";
31 fetchSubmodules = true;
32 };
33
34 build-system = [ setuptools ];
35
36 dependencies = [ parso ];
37
38 nativeCheckInputs = [
39 attrs
40 pytestCheckHook
41 ];
42
43 preCheck = ''
44 export HOME=$TMPDIR
45 '';
46
47 disabledTests =
48 [
49 # sensitive to platform, causes false negatives on darwin
50 "test_import"
51 ]
52 ++ lib.optionals (stdenv.targetPlatform.useLLVM or false) [
53 # InvalidPythonEnvironment: The python binary is potentially unsafe.
54 "test_create_environment_executable"
55 # AssertionError: assert ['', '.1000000000000001'] == ['', '.1']
56 "test_dict_keys_completions"
57 # AssertionError: assert ['', '.1000000000000001'] == ['', '.1']
58 "test_dict_completion"
59 ];
60
61 meta = with lib; {
62 description = "Autocompletion tool for Python that can be used for text editors";
63 homepage = "https://github.com/davidhalter/jedi";
64 changelog = "https://github.com/davidhalter/jedi/blob/${version}/CHANGELOG.rst";
65 license = licenses.mit;
66 maintainers = [ ];
67 };
68}