saunafs: 4.6.0 -> 4.7.0 (#379649)
[NixPkgs.git] / pkgs / development / python-modules / docker / default.nix
blob64b6c50be5377a41478ee5bd395a8c1fd25d5bc3
2   lib,
3   stdenv,
4   buildPythonPackage,
5   fetchFromGitHub,
6   pythonOlder,
8   # build-system
9   hatchling,
10   hatch-vcs,
12   # dependencies
13   packaging,
14   requests,
15   urllib3,
17   # optional-dependencies
18   paramiko,
19   websocket-client,
21   # tests
22   pytestCheckHook,
25 buildPythonPackage rec {
26   pname = "docker";
27   version = "7.1.0";
28   pyproject = true;
30   disabled = pythonOlder "3.8";
32   src = fetchFromGitHub {
33     owner = "docker";
34     repo = "docker-py";
35     tag = version;
36     hash = "sha256-sk6TZLek+fRkKq7kG9g6cR9lvfPC8v8qUXKb7Tq4pLU=";
37   };
39   build-system = [
40     hatchling
41     hatch-vcs
42   ];
44   dependencies = [
45     packaging
46     requests
47     urllib3
48   ];
50   optional-dependencies = {
51     ssh = [ paramiko paramiko.optional-dependencies.ed25519 ];
52     tls = [];
53     websockets = [ websocket-client ];
54   };
56   pythonImportsCheck = [ "docker" ];
58   nativeCheckInputs = [
59     pytestCheckHook
60   ] ++ lib.flatten (lib.attrValues optional-dependencies);
62   pytestFlagsArray = [ "tests/unit" ];
64   # Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket
65   disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
66     "api_test"
67     "stream_response"
68     "socket_file"
69   ];
71   meta = with lib; {
72     changelog = "https://github.com/docker/docker-py/releases/tag/${version}";
73     description = "API client for docker written in Python";
74     homepage = "https://github.com/docker/docker-py";
75     license = licenses.asl20;
76     maintainers = [ ];
77   };