diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/isort/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/isort/default.nix | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/isort/default.nix b/nixpkgs/pkgs/development/python-modules/isort/default.nix new file mode 100644 index 000000000000..6bf563af4784 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/isort/default.nix @@ -0,0 +1,84 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, colorama +, hypothesis +, poetry-core +, setuptools +, pylama +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "isort"; + version = "5.12.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "PyCQA"; + repo = "isort"; + rev = "refs/tags/${version}"; + hash = "sha256-8ija4xWWZuYkElXLdziV7ulN8dubIsChcZQ5dx9hfO0="; + }; + + nativeBuildInputs = [ + poetry-core + setuptools + ]; + + nativeCheckInputs = [ + colorama + hypothesis + pylama + pytestCheckHook + ]; + + postCheck = '' + # Confirm that the produced executable script is wrapped correctly and runs + # OK, by launching it in a subshell without PYTHONPATH + ( + unset PYTHONPATH + echo "Testing that `isort --version-number` returns OK..." + $out/bin/isort --version-number + ) + ''; + + preCheck = '' + HOME=$TMPDIR + export PATH=$PATH:$out/bin + ''; + + pytestFlagsArray = [ + "--ignore=tests/benchmark/" # requires pytest-benchmark + "--ignore=tests/integration/" # pulls in 10 other packages + "--ignore=tests/unit/profiles/test_black.py" # causes infinite recursion to include black + ]; + + disabledTests = [ + "test_run" # doesn't like paths in /build + "test_fuzz_show_unified_diff" # flakey + "test_pyi_formatting_issue_942" + "test_requirements_finder" + "test_pipfile_finder" + "test_main" # relies on git + "test_command_line" # not thread safe + "test_encoding_not_in_comment" # not python 3.9 compatible + "test_encoding_not_in_first_two_lines" # not python 3.9 compatible + "test_requirements_dir" # requires network + # plugin not available + "test_isort_literals_issue_1358" + "test_isort_supports_formatting_plugins_issue_1353" + "test_sort_configurable_sort_issue_1732" + "test_value_assignment_list" + # profiles not available + "test_isort_supports_shared_profiles_issue_970" + ]; + + meta = with lib; { + description = "A Python utility / library to sort Python imports"; + homepage = "https://github.com/PyCQA/isort"; + license = licenses.mit; + maintainers = with maintainers; [ couchemar ]; + mainProgram = "isort"; + }; +} |