From 0c409ea61899f8fde15d13417a422285670d619c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 6 Jul 2026 16:02:31 +0300 Subject: [PATCH 1/3] python3Packages.fastapi: use finalAttrs pattern --- pkgs/development/python-modules/fastapi/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix index e7c8a426fae7..6e0eedc3d4a9 100644 --- a/pkgs/development/python-modules/fastapi/default.nix +++ b/pkgs/development/python-modules/fastapi/default.nix @@ -38,7 +38,7 @@ pydantic-extra-types, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fastapi"; version = "0.136.3"; pyproject = true; @@ -46,7 +46,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "tiangolo"; repo = "fastapi"; - tag = version; + tag = finalAttrs.version; hash = "sha256-lfmk8ZveKPukEEfwWq2mKtWmOHAtVzGuE5BsOskDzh0="; }; @@ -116,7 +116,7 @@ buildPythonPackage rec { pytest-timeout ] ++ anyio.optional-dependencies.trio - ++ optional-dependencies.all; + ++ finalAttrs.finalPackage.passthru.optional-dependencies.all; disabledTests = [ # Coverage test @@ -134,10 +134,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "fastapi" ]; meta = { - changelog = "https://github.com/fastapi/fastapi/releases/tag/${src.tag}"; + changelog = "https://github.com/fastapi/fastapi/releases/tag/${finalAttrs.src.tag}"; description = "Web framework for building APIs"; homepage = "https://github.com/fastapi/fastapi"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ wd15 ]; }; -} +}) From 40d7bc5a60a5fd585a5818977c9f25ac0dbcef98 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 6 Jul 2026 16:02:46 +0300 Subject: [PATCH 2/3] python3Packages.fastapi: 0.136.3 -> 0.139.0 Diff: https://github.com/tiangolo/fastapi/compare/0.136.3...0.139.0 Changelog: https://github.com/fastapi/fastapi/releases/tag/0.139.0 --- pkgs/development/python-modules/fastapi/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix index 6e0eedc3d4a9..af0831bb11ca 100644 --- a/pkgs/development/python-modules/fastapi/default.nix +++ b/pkgs/development/python-modules/fastapi/default.nix @@ -27,7 +27,7 @@ # optional-dependencies fastapi-cli, - httpx, + httpx2, jinja2, itsdangerous, python-multipart, @@ -40,14 +40,14 @@ buildPythonPackage (finalAttrs: { pname = "fastapi"; - version = "0.136.3"; + version = "0.139.0"; pyproject = true; src = fetchFromGitHub { owner = "tiangolo"; repo = "fastapi"; tag = finalAttrs.version; - hash = "sha256-lfmk8ZveKPukEEfwWq2mKtWmOHAtVzGuE5BsOskDzh0="; + hash = "sha256-c4balkkmBv7zKRQnYRpRohVjP23m0HvtdiVrJtgNKYo="; }; build-system = [ pdm-backend ]; @@ -63,7 +63,7 @@ buildPythonPackage (finalAttrs: { optional-dependencies = { all = [ fastapi-cli - httpx + httpx2 jinja2 python-multipart itsdangerous @@ -78,7 +78,7 @@ buildPythonPackage (finalAttrs: { standard = [ fastapi-cli # FIXME package fastar - httpx + httpx2 jinja2 python-multipart email-validator @@ -90,7 +90,7 @@ buildPythonPackage (finalAttrs: { ++ uvicorn.optional-dependencies.standard; standard-no-fastapi-cloud-cli = [ fastapi-cli - httpx + httpx2 jinja2 python-multipart email-validator From 22ab7ac180af00130df05c8fc03e65df72d42f4c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 6 Jul 2026 16:14:35 +0300 Subject: [PATCH 3/3] python3Packages.fastapi: set strictDeps & __structuredAttrs --- pkgs/development/python-modules/fastapi/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix index af0831bb11ca..60dbe8fbfaf0 100644 --- a/pkgs/development/python-modules/fastapi/default.nix +++ b/pkgs/development/python-modules/fastapi/default.nix @@ -42,6 +42,8 @@ buildPythonPackage (finalAttrs: { pname = "fastapi"; version = "0.139.0"; pyproject = true; + __structuredAttrs = true; + strictDeps = true; src = fetchFromGitHub { owner = "tiangolo";