1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 typing-extensions,
7 pytestCheckHook,
8 pytest-cov-stub,
9}:
10
11buildPythonPackage rec {
12 pname = "injector";
13 version = "0.22.0";
14 format = "setuptools";
15
16 src = fetchFromGitHub {
17 owner = "python-injector";
18 repo = "injector";
19 tag = version;
20 hash = "sha256-FRO/stQDTa4W1f6mLPDCJslYFfIvgS0EgoEhuh0rxwA=";
21 };
22
23 propagatedBuildInputs = lib.optionals (pythonOlder "3.9") [ typing-extensions ];
24
25 nativeCheckInputs = [
26 pytestCheckHook
27 pytest-cov-stub
28 ];
29
30 pythonImportsCheck = [ "injector" ];
31
32 meta = with lib; {
33 description = "Python dependency injection framework, inspired by Guice";
34 homepage = "https://github.com/alecthomas/injector";
35 maintainers = [ ];
36 license = licenses.bsd3;
37 };
38}