at 24.11-pre 1.5 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchPypi, 6 pythonOlder, 7 8 # build-system 9 setuptools, 10 setuptools-scm, 11 12 # dependencies 13 packaging, 14 requests, 15 urllib3, 16 17 # optional-dependenices 18 paramiko, 19 websocket-client, 20 21 # tests 22 pytestCheckHook, 23}: 24 25buildPythonPackage rec { 26 pname = "docker"; 27 version = "7.0.0"; 28 format = "pyproject"; 29 30 disabled = pythonOlder "3.8"; 31 32 src = fetchPypi { 33 inherit pname version; 34 hash = "sha256-Mjc2+5LNlBj8XnEzvJU+EanaBPRIP4KLUn21U/Hn5aM="; 35 }; 36 37 nativeBuildInputs = [ 38 setuptools 39 setuptools-scm 40 ]; 41 42 propagatedBuildInputs = [ 43 packaging 44 requests 45 urllib3 46 ]; 47 48 passthru.optional-dependencies = { 49 ssh = [ paramiko ]; 50 websockets = [ websocket-client ]; 51 }; 52 53 pythonImportsCheck = [ "docker" ]; 54 55 nativeCheckInputs = [ 56 pytestCheckHook 57 ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); 58 59 pytestFlagsArray = [ "tests/unit" ]; 60 61 # Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket 62 disabledTests = lib.optionals stdenv.isDarwin [ 63 "api_test" 64 "stream_response" 65 "socket_file" 66 ]; 67 68 meta = with lib; { 69 changelog = "https://github.com/docker/docker-py/releases/tag/${version}"; 70 description = "An API client for docker written in Python"; 71 homepage = "https://github.com/docker/docker-py"; 72 license = licenses.asl20; 73 maintainers = with maintainers; [ jonringer ]; 74 }; 75}