From 17b0635ee936d03b41d5fe5759845e1c8d402f06 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 18 Mar 2026 20:15:11 +0100 Subject: [PATCH 1/7] python3Packages.genai-prices: init at 0.0.55 --- .../python-modules/genai-prices/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/genai-prices/default.nix diff --git a/pkgs/development/python-modules/genai-prices/default.nix b/pkgs/development/python-modules/genai-prices/default.nix new file mode 100644 index 000000000000..777e35e4edf9 --- /dev/null +++ b/pkgs/development/python-modules/genai-prices/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + uv-build, + + # dependencies + httpx, + pydantic, +}: + +buildPythonPackage (finalAttrs: { + pname = "genai-prices"; + version = "0.0.55"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pydantic"; + repo = "genai-prices"; + tag = "v${finalAttrs.version}"; + hash = "sha256-FxHBVroKC9tgYJ+a429cnv7UVWMBoeTX+BEah7eD9Us="; + }; + + sourceRoot = "${finalAttrs.src.name}/packages/python"; + + build-system = [ + uv-build + ]; + + dependencies = [ + httpx + pydantic + ]; + + pythonImportsCheck = [ + "genai_prices" + ]; + + doCheck = false; # no tests + + meta = { + description = "Calculate prices for calling LLM inference APIs"; + homepage = "https://github.com/pydantic/genai-prices"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 426268b1a572..50226bd2c521 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6088,6 +6088,8 @@ self: super: with self; { } ); + genai-prices = callPackage ../development/python-modules/genai-prices { }; + genanki = callPackage ../development/python-modules/genanki { }; general-sam = callPackage ../development/python-modules/general-sam { }; From 4d86e3321e64c94c557408bf54c5bb2cda6de6b7 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 18 Mar 2026 20:25:35 +0100 Subject: [PATCH 2/7] python3Packages.griffelib: init at 2.0.0 --- .../python-modules/griffelib/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/griffelib/default.nix diff --git a/pkgs/development/python-modules/griffelib/default.nix b/pkgs/development/python-modules/griffelib/default.nix new file mode 100644 index 000000000000..5e01d59bc861 --- /dev/null +++ b/pkgs/development/python-modules/griffelib/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + hatchling, + pdm-backend, + uv-dynamic-versioning, + + # optional-dependencies + pip, + platformdirs, + wheel, +}: + +buildPythonPackage (finalAttrs: { + pname = "griffelib"; + version = "2.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mkdocstrings"; + repo = "griffe"; + tag = finalAttrs.version; + hash = "sha256-SiUkgkaHtq2aWraL5BJvItOExTGUQ+e6pQVXEwTM0mk="; + }; + + sourceRoot = "${finalAttrs.src.name}/packages/griffelib"; + + build-system = [ + hatchling + pdm-backend + uv-dynamic-versioning + ]; + + optional-dependencies.pypi = [ + pip + platformdirs + wheel + ]; + + pythonImportsCheck = [ + "griffe" + ]; + + meta = { + description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API"; + homepage = "https://github.com/mkdocstrings/griffe"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 50226bd2c521..532813458f9d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6708,6 +6708,8 @@ self: super: with self; { griffe = callPackage ../development/python-modules/griffe { }; + griffelib = callPackage ../development/python-modules/griffelib { }; + grip = callPackage ../development/python-modules/grip { }; groestlcoin-hash = callPackage ../development/python-modules/groestlcoin-hash { }; From 935f6b4e926c430f9f2e9b7be4edc5b523b018d9 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 18 Mar 2026 20:33:57 +0100 Subject: [PATCH 3/7] python3Packages.pydantic-graph: init at 1.70.0 --- .../python-modules/pydantic-graph/default.nix | 55 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/development/python-modules/pydantic-graph/default.nix diff --git a/pkgs/development/python-modules/pydantic-graph/default.nix b/pkgs/development/python-modules/pydantic-graph/default.nix new file mode 100644 index 000000000000..5e169ea7ad97 --- /dev/null +++ b/pkgs/development/python-modules/pydantic-graph/default.nix @@ -0,0 +1,55 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + hatchling, + uv-dynamic-versioning, + + # dependencies + httpx, + logfire-api, + pydantic, + typing-inspection, +}: + +buildPythonPackage (finalAttrs: { + pname = "pydantic-graph"; + version = "1.70.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pydantic"; + repo = "pydantic-ai"; + tag = "v${finalAttrs.version}"; + hash = "sha256-eG+v5/v8PxGjTVdUcrwhWfIWHFXwNOLMFHsNK9zH7Wo="; + }; + + sourceRoot = "${finalAttrs.src.name}/pydantic_graph"; + + build-system = [ + hatchling + uv-dynamic-versioning + ]; + + dependencies = [ + httpx + logfire-api + pydantic + typing-inspection + ]; + + pythonImportsCheck = [ + "pydantic_graph" + ]; + + doCheck = false; # no tests + + meta = { + description = "GenAI Agent Framework, the Pydantic way"; + homepage = "https://github.com/pydantic/pydantic-ai"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 532813458f9d..04c4ad4095b3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13503,6 +13503,8 @@ self: super: with self; { pydantic-extra-types = callPackage ../development/python-modules/pydantic-extra-types { }; + pydantic-graph = callPackage ../development/python-modules/pydantic-graph { }; + pydantic-scim = callPackage ../development/python-modules/pydantic-scim { }; pydantic-settings = callPackage ../development/python-modules/pydantic-settings { }; From 371c12a452788fb39ec18778877542f80041b2cd Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 18 Mar 2026 20:35:15 +0100 Subject: [PATCH 4/7] python3Packages.pydantic-ai-slim: init at 1.70.0 --- .../pydantic-ai-slim/default.nix | 62 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 64 insertions(+) create mode 100644 pkgs/development/python-modules/pydantic-ai-slim/default.nix diff --git a/pkgs/development/python-modules/pydantic-ai-slim/default.nix b/pkgs/development/python-modules/pydantic-ai-slim/default.nix new file mode 100644 index 000000000000..c001a34f2069 --- /dev/null +++ b/pkgs/development/python-modules/pydantic-ai-slim/default.nix @@ -0,0 +1,62 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + hatchling, + uv-dynamic-versioning, + + # dependencies + genai-prices, + griffelib, + httpx, + opentelemetry-api, + pydantic-graph, + pydantic, + typing-inspection, + +}: + +buildPythonPackage (finalAttrs: { + pname = "pydantic-ai-slim"; + version = "1.70.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pydantic"; + repo = "pydantic-ai"; + tag = "v${finalAttrs.version}"; + hash = "sha256-eG+v5/v8PxGjTVdUcrwhWfIWHFXwNOLMFHsNK9zH7Wo="; + }; + + sourceRoot = "${finalAttrs.src.name}/pydantic_ai_slim"; + + build-system = [ + hatchling + uv-dynamic-versioning + ]; + + dependencies = [ + genai-prices + griffelib + httpx + opentelemetry-api + pydantic-graph + pydantic + typing-inspection + ]; + + pythonImportsCheck = [ + "pydantic_ai" + ]; + + doCheck = false; + + meta = { + description = "GenAI Agent Framework, the Pydantic way"; + homepage = "https://github.com/pydantic/pydantic-ai"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 04c4ad4095b3..c4ed227d3bee 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13493,6 +13493,8 @@ self: super: with self; { pydantic = callPackage ../development/python-modules/pydantic { }; + pydantic-ai-slim = callPackage ../development/python-modules/pydantic-ai-slim { }; + pydantic-argparse-extensible = callPackage ../development/python-modules/pydantic-argparse-extensible { }; From 4cd4933941d685ca8729c2ec04cec6385f89d891 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 18 Mar 2026 20:41:31 +0100 Subject: [PATCH 5/7] lasuite-docs: 4.5.0 -> 4.8.1 https://github.com/suitenumerique/docs/blob/v4.8.1/CHANGELOG.md --- pkgs/by-name/la/lasuite-docs/package.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/la/lasuite-docs/package.nix b/pkgs/by-name/la/lasuite-docs/package.nix index 47e7e5759664..e38e23cd5c02 100644 --- a/pkgs/by-name/la/lasuite-docs/package.nix +++ b/pkgs/by-name/la/lasuite-docs/package.nix @@ -11,12 +11,12 @@ yarnConfigHook, }: let - version = "4.5.0"; + version = "4.8.1"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "docs"; tag = "v${version}"; - hash = "sha256-/mI11ldbYa051WA2hkV7fnc8CJOb0jHra0FJ+eVCqVs="; + hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY="; }; mail-templates = stdenv.mkDerivation { @@ -29,7 +29,7 @@ let offlineCache = fetchYarnDeps { yarnLock = "${src}/src/mail/yarn.lock"; - hash = "sha256-g71OGg0PAo60h0bC+oOyvLvPOCg0pYXuYD8vsR5X9/k="; + hash = "sha256-ag9+g48dWl5Ww/78qqgtcKwiyPVlpNiJ7w7+DPaar2U="; }; nativeBuildInputs = [ @@ -47,7 +47,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pyproject = true; inherit version src; - sourceRoot = "source/src/backend"; + sourceRoot = "${finalAttrs.src.name}/src/backend"; patches = [ # Support configuration throught environment variables for SECURE_* @@ -104,12 +104,14 @@ python3Packages.buildPythonApplication (finalAttrs: { openai psycopg pycrdt + pydantic-ai-slim pyjwt pyopenssl python-magic redis requests sentry-sdk + uvicorn whitenoise ] ++ celery.optional-dependencies.redis From efac0971234a5fe62b2e60cfcdb05717b454d1d9 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 18 Mar 2026 20:49:31 +0100 Subject: [PATCH 6/7] lasuite-docs-frontend: 4.4.0 -> 4.8.1 https://github.com/suitenumerique/docs/blob/v4.8.1/CHANGELOG.md --- pkgs/by-name/la/lasuite-docs-frontend/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/la/lasuite-docs-frontend/package.nix b/pkgs/by-name/la/lasuite-docs-frontend/package.nix index 6d5137df41f0..9047413c1fd3 100644 --- a/pkgs/by-name/la/lasuite-docs-frontend/package.nix +++ b/pkgs/by-name/la/lasuite-docs-frontend/package.nix @@ -12,20 +12,20 @@ stdenv.mkDerivation (finalAttrs: { pname = "lasuite-docs-frontend"; - version = "4.4.0"; + version = "4.8.1"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "docs"; tag = "v${finalAttrs.version}"; - hash = "sha256-Cm/Ch7dBKInQYPFGfSlSMLgj8uQR6E3S+6gCFUyvFSU="; + hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY="; }; - sourceRoot = "source/src/frontend"; + sourceRoot = "${finalAttrs.src.name}/src/frontend"; offlineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/src/frontend/yarn.lock"; - hash = "sha256-JacPecJvdyATea8o1jQOxY9Gzx4kH+HLqE0eq03dzjg="; + hash = "sha256-F8VXjGY6Ct2Y8btqOmxZevCkxBvqg6xWZLYTZA2uUnM="; }; nativeBuildInputs = [ From 5dddfa41a287f05a0fec2c60949de7132f4656a1 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 18 Mar 2026 21:16:25 +0100 Subject: [PATCH 7/7] lasuite-docs-collaboration-server: 4.4.0 -> 4.8.1 https://github.com/suitenumerique/docs/blob/v4.8.1/CHANGELOG.md --- .../la/lasuite-docs-collaboration-server/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix b/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix index eb31bd752453..147c814dab10 100644 --- a/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix +++ b/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix @@ -13,20 +13,20 @@ stdenv.mkDerivation (finalAttrs: { pname = "lasuite-docs-collaboration-server"; - version = "4.4.0"; + version = "4.8.1"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "docs"; tag = "v${finalAttrs.version}"; - hash = "sha256-Cm/Ch7dBKInQYPFGfSlSMLgj8uQR6E3S+6gCFUyvFSU="; + hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY="; }; - sourceRoot = "source/src/frontend"; + sourceRoot = "${finalAttrs.src.name}/src/frontend"; offlineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/src/frontend/yarn.lock"; - hash = "sha256-JacPecJvdyATea8o1jQOxY9Gzx4kH+HLqE0eq03dzjg="; + hash = "sha256-F8VXjGY6Ct2Y8btqOmxZevCkxBvqg6xWZLYTZA2uUnM="; }; nativeBuildInputs = [