From 5612eefc08d203a004ae748eea379301818f6a55 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 16 Jul 2026 21:50:42 +0000 Subject: [PATCH] python3Packages.plum-dispatch: init at 2.9.0 --- .../python-modules/plum-dispatch/default.nix | 62 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 64 insertions(+) create mode 100644 pkgs/development/python-modules/plum-dispatch/default.nix diff --git a/pkgs/development/python-modules/plum-dispatch/default.nix b/pkgs/development/python-modules/plum-dispatch/default.nix new file mode 100644 index 000000000000..ce871ac73b9a --- /dev/null +++ b/pkgs/development/python-modules/plum-dispatch/default.nix @@ -0,0 +1,62 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + hatch-vcs, + hatchling, + + # dependencies + beartype, + rich, + typing-extensions, + + # tests + ipython, + numpy, + pytestCheckHook, + sybil, +}: + +buildPythonPackage (finalAttrs: { + pname = "plum-dispatch"; + version = "2.9.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "beartype"; + repo = "plum"; + tag = "v${finalAttrs.version}"; + hash = "sha256-oQTM2Op/ymNYu0yCOADI9Is2RutwF+AYmhMLAkMe87s="; + }; + + build-system = [ + hatch-vcs + hatchling + ]; + + dependencies = [ + beartype + rich + typing-extensions + ]; + + pythonImportsCheck = [ "plum" ]; + + nativeCheckInputs = [ + ipython + numpy + pytestCheckHook + sybil + ]; + + meta = { + description = "Multiple dispatch in Python"; + homepage = "https://github.com/beartype/plum"; + changelog = "https://github.com/beartype/plum/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a17588687475..0b53b02eb570 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13403,6 +13403,8 @@ self: super: with self; { plugwise = callPackage ../development/python-modules/plugwise { }; + plum-dispatch = callPackage ../development/python-modules/plum-dispatch { }; + plum-py = callPackage ../development/python-modules/plum-py { }; plumbum = callPackage ../development/python-modules/plumbum { };