diff options
author | Ben Sima <ben@bsima.me> | 2025-05-06 18:01:11 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2025-05-07 22:52:46 -0400 |
commit | b0d3330c67b6874a1eaf23978749b26d99fbdfab (patch) | |
tree | a21acfd5340431c0a07dcc12b515fe6f5f1fad8e /Omni/Bild/Deps/pydantic-graph.nix | |
parent | 3127cefa0d01f18b5c503e797ee1cf87aa61964c (diff) |
Switch Python to unstable and add pydantic-ai
Pydantic-ai is an agent framework that seems simple and good: well-typed with
pydantic, tool usage is just an `@tool` decorator on a function, and so
on. While building these I realized there were some deps they needed that were
already in nixpkgs unstable, so I just switched to that instead of trying to
backport all the versions and stuff.
Diffstat (limited to 'Omni/Bild/Deps/pydantic-graph.nix')
-rw-r--r-- | Omni/Bild/Deps/pydantic-graph.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Omni/Bild/Deps/pydantic-graph.nix b/Omni/Bild/Deps/pydantic-graph.nix new file mode 100644 index 0000000..e2797b9 --- /dev/null +++ b/Omni/Bild/Deps/pydantic-graph.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + hatchling, + pydantic, + logfire-api, + httpx, + opentelemetry-api, + pythonOlder, + sources, +}: +buildPythonPackage rec { + pname = "pydantic-graph"; + version = sources.pydantic-ai.version; + pyproject = true; + disabled = pythonOlder "3.8"; + src = sources.pydantic-ai; + sourceRoot = "pydantic-ai-src/pydantic_graph"; + build-system = [hatchling]; + dependencies = [ + pydantic + logfire-api + httpx + opentelemetry-api + ]; + nativeCheckInputs = [ + pydantic + logfire-api + httpx + ]; + pythonRelaxDeps = true; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail ', "uv-dynamic-versioning>=0.7.0"' "" \ + --replace-fail 'dynamic = ["version"]' 'version = "${version}"' + ''; + pythonImportsCheck = ["pydantic_graph"]; + meta = { + description = "PydanticAI core logic with minimal required dependencies."; + homepage = "https://github.com/pydantic/pydantic-ai"; + changelog = "https://github.com/pydantic/pydantic-ai/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [bsima]; + }; +} |