From 2911ca32f363b31129acc701fe20ac1027f4649a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 28 Jan 2026 15:16:42 +0100 Subject: [PATCH 1/5] python313Packages.apiflask: init at 3.0.2 Lightweight Python web API framework https://github.com/apiflask/apiflask --- .../python-modules/apiflask/default.nix | 72 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 74 insertions(+) create mode 100644 pkgs/development/python-modules/apiflask/default.nix diff --git a/pkgs/development/python-modules/apiflask/default.nix b/pkgs/development/python-modules/apiflask/default.nix new file mode 100644 index 000000000000..d602fffc52b1 --- /dev/null +++ b/pkgs/development/python-modules/apiflask/default.nix @@ -0,0 +1,72 @@ +{ + lib, + apispec, + asgiref, + buildPythonPackage, + fetchFromGitHub, + flask-httpauth, + flask-marshmallow, + flask-sqlalchemy, + flask, + marshmallow, + marshmallow-dataclass, + openapi-spec-validator, + pydantic, + pytest-cov-stub, + pytestCheckHook, + python-dotenv, + pyyaml, + setuptools, + webargs, +}: + +buildPythonPackage (finalAttrs: { + pname = "apiflask"; + version = "3.0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "apiflask"; + repo = "apiflask"; + tag = finalAttrs.version; + hash = "sha256-1nWA2PDgTG++AA0pJeGDiSQyRqLRGfDuzRwfDl8RKl0="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + apispec + flask + flask-httpauth + flask-marshmallow + flask-sqlalchemy + marshmallow + marshmallow-dataclass + pydantic + webargs + ] + ++ pydantic.optional-dependencies.email; + + optional-dependencies = { + async = [ asgiref ]; + dotenv = [ python-dotenv ]; + yaml = [ pyyaml ]; + }; + + nativeCheckInputs = [ + openapi-spec-validator + pytest-cov-stub + pytestCheckHook + ] + ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); + + pythonImportsCheck = [ "apiflask" ]; + + meta = { + description = "Lightweight Python web API framework"; + homepage = "https://github.com/apiflask/apiflask"; + changelog = "https://github.com/apiflask/apiflask/blob/${finalAttrs.src.tag}/CHANGES.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index abd85a81e1d8..c95665f430a5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -814,6 +814,8 @@ self: super: with self; { apeye-core = callPackage ../development/python-modules/apeye-core { }; + apiflask = callPackage ../development/python-modules/apiflask { }; + apipkg = callPackage ../development/python-modules/apipkg { }; apischema = callPackage ../development/python-modules/apischema { }; From 6953d214d4c4b314059d1a0be8b15da4576dad90 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 28 Jan 2026 15:18:23 +0100 Subject: [PATCH 2/5] search-vulns: 0.8.4 -> 1.0.2 Changelog: https://github.com/ra1nb0rn/search_vulns/blob/v1.0.2/CHANGELOG.md --- pkgs/by-name/se/search-vulns/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/se/search-vulns/package.nix b/pkgs/by-name/se/search-vulns/package.nix index ec0f84ff5f8f..0c45f782576d 100644 --- a/pkgs/by-name/se/search-vulns/package.nix +++ b/pkgs/by-name/se/search-vulns/package.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication rec { pname = "search-vulns"; - version = "0.8.4"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "ra1nb0rn"; repo = "search_vulns"; tag = "v${version}"; - hash = "sha256-lvFx+ozbw7cYAJvaEFkeFxG+CfvbvDO0VRuNJ/Ub+bA="; + hash = "sha256-xdZq4Er+0CT59Iv0mEcmkZcUM+xbBi/x+TtBNCiyhbY="; fetchSubmodules = true; }; @@ -26,9 +26,11 @@ python3.pkgs.buildPythonApplication rec { aiolimiter cpe-search cvss + pydantic requests tqdm ujson + univers ]; optional-dependencies = with python3.pkgs; { @@ -42,9 +44,11 @@ python3.pkgs.buildPythonApplication rec { gunicorn mariadb markdown + pydantic requests tqdm ujson + univers ]; mariadb = [ mariadb ]; web = [ From 8b9cd160f33d6ca6188b39d68c29d110f81061bf Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 28 Jan 2026 15:21:27 +0100 Subject: [PATCH 3/5] search-vulns: migrate to finalAttrs --- pkgs/by-name/se/search-vulns/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/se/search-vulns/package.nix b/pkgs/by-name/se/search-vulns/package.nix index 0c45f782576d..e419934a7a78 100644 --- a/pkgs/by-name/se/search-vulns/package.nix +++ b/pkgs/by-name/se/search-vulns/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, }: -python3.pkgs.buildPythonApplication rec { +python3.pkgs.buildPythonApplication (finalAttrs: { pname = "search-vulns"; version = "1.0.2"; pyproject = true; @@ -12,7 +12,7 @@ python3.pkgs.buildPythonApplication rec { src = fetchFromGitHub { owner = "ra1nb0rn"; repo = "search_vulns"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-xdZq4Er+0CT59Iv0mEcmkZcUM+xbBi/x+TtBNCiyhbY="; fetchSubmodules = true; }; @@ -67,9 +67,9 @@ python3.pkgs.buildPythonApplication rec { meta = { description = "Search for known vulnerabilities in software using software titles or a CPE 2.3 string"; homepage = "https://github.com/ra1nb0rn/search_vulns"; - changelog = "https://github.com/ra1nb0rn/search_vulns/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/ra1nb0rn/search_vulns/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; mainProgram = "search_vulns"; }; -} +}) From 594a3a82b4461a260ff818f881b479bc8a0fd33a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 28 Jan 2026 16:35:53 +0100 Subject: [PATCH 4/5] python314Packages.marshmallow-dataclass: add patch to fix test --- .../python-modules/marshmallow-dataclass/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/marshmallow-dataclass/default.nix b/pkgs/development/python-modules/marshmallow-dataclass/default.nix index 1638fb33e17a..0adc51e2155d 100644 --- a/pkgs/development/python-modules/marshmallow-dataclass/default.nix +++ b/pkgs/development/python-modules/marshmallow-dataclass/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch, marshmallow, pytestCheckHook, setuptools, @@ -21,6 +22,15 @@ buildPythonPackage rec { hash = "sha256-0OXP78oyNe/UcI05NHskPyXAuX3dwAW4Uz4dI4b8KV0="; }; + patches = [ + # Fix test_set_only_work_in_hashable_types on Python 3.14, https://github.com/lovasoa/marshmallow_dataclass/pull/286 + (fetchpatch { + name = "fix-test.patch"; + url = "https://github.com/lovasoa/marshmallow_dataclass/commit/9a2ea19924a3cd5fadeb41663bfca64b9c0f75e4.patch"; + hash = "sha256-T2UbZdCj4+HRglMp8w3kU20sUcN6WoSyKiLNr1kSius="; + }) + ]; + build-system = [ setuptools ]; dependencies = [ @@ -52,4 +62,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From f4d04a946739406850286be64036cf8035500982 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 28 Jan 2026 16:36:45 +0100 Subject: [PATCH 5/5] python314Packages.marshmallow-dataclass: migrate to finalAttrs --- .../python-modules/marshmallow-dataclass/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/marshmallow-dataclass/default.nix b/pkgs/development/python-modules/marshmallow-dataclass/default.nix index 0adc51e2155d..c229ae66d40c 100644 --- a/pkgs/development/python-modules/marshmallow-dataclass/default.nix +++ b/pkgs/development/python-modules/marshmallow-dataclass/default.nix @@ -10,7 +10,7 @@ typing-inspect, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "marshmallow-dataclass"; version = "8.7.1"; pyproject = true; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "lovasoa"; repo = "marshmallow_dataclass"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-0OXP78oyNe/UcI05NHskPyXAuX3dwAW4Uz4dI4b8KV0="; }; @@ -58,7 +58,7 @@ buildPythonPackage rec { meta = { description = "Automatic generation of marshmallow schemas from dataclasses"; homepage = "https://github.com/lovasoa/marshmallow_dataclass"; - changelog = "https://github.com/lovasoa/marshmallow_dataclass/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/lovasoa/marshmallow_dataclass/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; };