20 buildPythonPackage rec {
21 pname = "dependency-injector";
23 format = "setuptools";
25 disabled = pythonOlder "3.7";
27 src = fetchFromGitHub {
29 repo = "python-dependency-injector";
31 hash = "sha256-U3U/L8UuYrfpm4KwVNmViTbam7QdZd2vp1p+ENtOJlw=";
34 propagatedBuildInputs = [ six ];
36 optional-dependencies = {
37 aiohttp = [ aiohttp ];
38 pydantic = [ pydantic ];
53 ++ optional-dependencies.aiohttp
54 ++ optional-dependencies.pydantic
55 ++ optional-dependencies.yaml
56 ++ optional-dependencies.flask;
58 pythonImportsCheck = [ "dependency_injector" ];
61 # Exclude tests for EOL Python releases
62 "tests/unit/ext/test_aiohttp_py35.py"
63 "tests/unit/wiring/test_*_py36.py"
67 description = "Dependency injection microframework for Python";
68 homepage = "https://github.com/ets-labs/python-dependency-injector";
69 changelog = "https://github.com/ets-labs/python-dependency-injector/blob/${version}/docs/main/changelog.rst";
70 license = licenses.bsd3;
71 maintainers = with maintainers; [ gerschtli ];
72 # https://github.com/ets-labs/python-dependency-injector/issues/726
73 broken = versionAtLeast pydantic.version "2";