ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / isort / default.nix
blob466d51266216e6368c6f2b120068dc70347de687
1 { lib, buildPythonPackage, fetchFromGitHub
2 , colorama
3 , hypothesis
4 , poetry-core
5 , setuptools
6 , pylama
7 , pytestCheckHook
8 }:
10 buildPythonPackage rec {
11   pname = "isort";
12   version = "5.10.1";
13   format = "pyproject";
15   src = fetchFromGitHub {
16     owner = "PyCQA";
17     repo = "isort";
18     rev = version;
19     sha256 = "09spgl2k9xrprr5gbpfc91a8p7mx7a0c64ydgc91b3jhrmnd9jg1";
20   };
22   nativeBuildInputs = [
23     poetry-core
24     setuptools
25   ];
27   checkInputs = [
28     colorama
29     hypothesis
30     pylama
31     pytestCheckHook
32   ];
34   postCheck = ''
35     # Confirm that the produced executable script is wrapped correctly and runs
36     # OK, by launching it in a subshell without PYTHONPATH
37     (
38       unset PYTHONPATH
39       echo "Testing that `isort --version-number` returns OK..."
40       $out/bin/isort --version-number
41     )
42   '';
44   preCheck = ''
45     HOME=$TMPDIR
46     export PATH=$PATH:$out/bin
47   '';
49   pytestFlagsArray = [
50     "--ignore=tests/benchmark/" # requires pytest-benchmark
51     "--ignore=tests/integration/" # pulls in 10 other packages
52     "--ignore=tests/unit/profiles/test_black.py" # causes infinite recursion to include black
53   ];
55   disabledTests = [
56     "test_run" # doesn't like paths in /build
57     "test_fuzz_show_unified_diff" # flakey
58     "test_pyi_formatting_issue_942"
59     "test_requirements_finder"
60     "test_pipfile_finder"
61     "test_main" # relies on git
62     "test_command_line" # not thread safe
63     "test_encoding_not_in_comment" # not python 3.9 compatible
64     "test_encoding_not_in_first_two_lines" # not python 3.9 compatible
65     "test_requirements_dir" # requires network
66     # plugin not available
67     "test_isort_literals_issue_1358"
68     "test_isort_supports_formatting_plugins_issue_1353"
69     "test_sort_configurable_sort_issue_1732"
70     "test_value_assignment_list"
71     # profiles not available
72     "test_isort_supports_shared_profiles_issue_970"
73   ];
75   meta = with lib; {
76     description = "A Python utility / library to sort Python imports";
77     homepage = "https://github.com/PyCQA/isort";
78     license = licenses.mit;
79     maintainers = with maintainers; [ couchemar ];
80   };