1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonAtLeast,
6 pythonOlder,
7 pytestCheckHook,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "overrides";
13 version = "7.7.0";
14 pyproject = true;
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "mkorpela";
20 repo = "overrides";
21 tag = version;
22 hash = "sha256-gQDw5/RpAFNYWFOuxIAArPkCOoBYWUnsDtv1FEFteHo=";
23 };
24
25 nativeBuildInputs = [ setuptools ];
26
27 nativeCheckInputs = [ pytestCheckHook ];
28
29 disabledTests = lib.optionals (pythonAtLeast "3.12") [
30 # KeyError: 'assertRaises'
31 "test_enforcing_when_incompatible"
32 ];
33
34 pythonImportsCheck = [ "overrides" ];
35
36 meta = with lib; {
37 description = "Decorator to automatically detect mismatch when overriding a method";
38 homepage = "https://github.com/mkorpela/overrides";
39 changelog = "https://github.com/mkorpela/overrides/releases/tag/${version}";
40 license = licenses.asl20;
41 maintainers = with maintainers; [ fab ];
42 };
43}