Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 aiohttp, 4 buildPythonPackage, 5 fastapi, 6 fetchFromGitHub, 7 flask, 8 httpx, 9 mypy-boto3-s3, 10 numpy, 11 pydantic, 12 pytest-asyncio, 13 pytestCheckHook, 14 pythonOlder, 15 pyyaml, 16 scipy, 17 six, 18}: 19 20buildPythonPackage rec { 21 pname = "dependency-injector"; 22 version = "4.41.0"; 23 format = "setuptools"; 24 25 disabled = pythonOlder "3.7"; 26 27 src = fetchFromGitHub { 28 owner = "ets-labs"; 29 repo = "python-dependency-injector"; 30 rev = version; 31 hash = "sha256-U3U/L8UuYrfpm4KwVNmViTbam7QdZd2vp1p+ENtOJlw="; 32 }; 33 34 propagatedBuildInputs = [ six ]; 35 36 passthru.optional-dependencies = { 37 aiohttp = [ aiohttp ]; 38 pydantic = [ pydantic ]; 39 flask = [ flask ]; 40 yaml = [ pyyaml ]; 41 }; 42 43 nativeCheckInputs = 44 [ 45 fastapi 46 httpx 47 mypy-boto3-s3 48 numpy 49 pytest-asyncio 50 pytestCheckHook 51 scipy 52 ] 53 ++ passthru.optional-dependencies.aiohttp 54 ++ passthru.optional-dependencies.pydantic 55 ++ passthru.optional-dependencies.yaml 56 ++ passthru.optional-dependencies.flask; 57 58 pythonImportsCheck = [ "dependency_injector" ]; 59 60 disabledTestPaths = [ 61 # Exclude tests for EOL Python releases 62 "tests/unit/ext/test_aiohttp_py35.py" 63 "tests/unit/wiring/test_*_py36.py" 64 ]; 65 66 meta = with lib; { 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"; 74 }; 75}