From b8076a50d9f10b75eba71a980341e885c39813cf Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 4 Aug 2025 22:13:42 +0200 Subject: [PATCH] python3Packages.draccus: init at 0.11.5 --- .../python-modules/draccus/default.nix | 65 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 67 insertions(+) create mode 100644 pkgs/development/python-modules/draccus/default.nix diff --git a/pkgs/development/python-modules/draccus/default.nix b/pkgs/development/python-modules/draccus/default.nix new file mode 100644 index 000000000000..02f3a89fa5a3 --- /dev/null +++ b/pkgs/development/python-modules/draccus/default.nix @@ -0,0 +1,65 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + fetchpatch2, + + # build-system + setuptools, + + # dependencies + mergedeep, + pyyaml, + toml, + typing-inspect, + + # tests + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "draccus"; + version = "0.11.5"; + pyproject = true; + + # No (recent) tags on GitHub + src = fetchPypi { + inherit pname version; + hash = "sha256-uC4sICcDCuGg8QVRUSX5FOBQwHZqtRjfOgVgoH0Q3ck="; + }; + + patches = [ + (fetchpatch2 { + # TODO: remove when updating to the next release + # Removes the pyyaml-include~=1.4 dependency + # https://github.com/dlwh/draccus/issues/46#issuecomment-3180810991 + name = "remove-pyyaml-include-dep.patch"; + url = "https://github.com/dlwh/draccus/commit/3a6db0bc786e46cc13c481bc2235101d7a411441.patch"; + hash = "sha256-0OLUjXJSZ9eIL8dgE8o1Mg0HIMX+4XABSf0tYNFWn8I="; + }) + ]; + + build-system = [ + setuptools + ]; + + dependencies = [ + mergedeep + pyyaml + toml + typing-inspect + ]; + + pythonImportsCheck = [ "draccus" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Framework for simple dataclass-based configurations based on Pyrallis"; + homepage = "https://github.com/dlwh/draccus"; + 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 9ebff811a85c..9b8c36949f96 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4320,6 +4320,8 @@ self: super: with self; { dploot = callPackage ../development/python-modules/dploot { }; + draccus = callPackage ../development/python-modules/draccus { }; + drafthorse = callPackage ../development/python-modules/drafthorse { }; draftjs-exporter = callPackage ../development/python-modules/draftjs-exporter { };