1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytoolconfig,
6 pytest-timeout,
7 pytestCheckHook,
8 pythonAtLeast,
9 pythonOlder,
10 setuptools,
11}:
12
13buildPythonPackage rec {
14 pname = "rope";
15 version = "1.13.0";
16 pyproject = true;
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "python-rope";
22 repo = "rope";
23 tag = version;
24 hash = "sha256-g/fta5gW/xPs3VaVuLtikfLhqCKyy1AKRnOcOXjQ8bA=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [ pytoolconfig ] ++ pytoolconfig.optional-dependencies.global;
30
31 __darwinAllowLocalNetworking = true;
32
33 nativeCheckInputs = [
34 pytest-timeout
35 pytestCheckHook
36 ];
37
38 disabledTests =
39 [
40 "test_search_submodule"
41 "test_get_package_source_pytest"
42 "test_get_modname_folder"
43 ]
44 ++ lib.optionals (pythonAtLeast "3.13") [
45 # https://github.com/python-rope/rope/issues/801
46 "test_skipping_directories_not_accessible_because_of_permission_error"
47 "test_hint_parametrized_iterable"
48 "test_hint_parametrized_iterator"
49 ];
50
51 meta = with lib; {
52 description = "Python refactoring library";
53 homepage = "https://github.com/python-rope/rope";
54 changelog = "https://github.com/python-rope/rope/blob/${version}/CHANGELOG.md";
55 license = licenses.gpl3Plus;
56 maintainers = [ ];
57 };
58}