diff --git a/pkgs/development/python-modules/podman/default.nix b/pkgs/development/python-modules/podman/default.nix new file mode 100644 index 000000000000..6d46b97e384e --- /dev/null +++ b/pkgs/development/python-modules/podman/default.nix @@ -0,0 +1,76 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, fixtures +, pytestCheckHook +, pythonOlder +, pyxdg +, requests +, requests-mock +, setuptools +, tomli +, urllib3 +, wheel +}: + +buildPythonPackage rec { + pname = "podman"; + version = "4.6.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "containers"; + repo = "podman-py"; + rev = "refs/tags/v${version}"; + hash = "sha256-76mLgkQgYbm04bj1VX7SC/kW8JEbYjbK3x6Xb612wnk="; + }; + + nativeBuildInputs = [ + setuptools + wheel + ]; + + propagatedBuildInputs = [ + pyxdg + requests + tomli + urllib3 + ]; + + nativeCheckInputs = [ + fixtures + pytestCheckHook + requests-mock + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + pythonImportsCheck = [ + "podman" + ]; + + disabledTests = [ + # Integration tests require a running container setup + "AdapterIntegrationTest" + "ContainersIntegrationTest" + "ImagesIntegrationTest" + "ManifestsIntegrationTest" + "NetworksIntegrationTest" + "PodsIntegrationTest" + "SecretsIntegrationTest" + "SystemIntegrationTest" + "VolumesIntegrationTest" + ]; + + meta = with lib; { + description = "Python bindings for Podman's RESTful API"; + homepage = "https://github.com/containers/podman-py"; + changelog = "https://github.com/containers/podman-py/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f89cd0192fbd..e0d755933ffe 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8539,6 +8539,8 @@ self: super: with self; { podcats = callPackage ../development/python-modules/podcats { }; + podman = callPackage ../development/python-modules/podman { }; + poetry-core = callPackage ../development/python-modules/poetry-core { }; poetry-dynamic-versioning = callPackage ../development/python-modules/poetry-dynamic-versioning { };