Loading pkgs/development/python-modules/a2a-sdk/default.nix 0 → 100644 +101 −0 Original line number Diff line number Diff line { lib, aiosqlite, buildPythonPackage, cryptography, fastapi, fetchFromGitHub, google-api-core, grpcio-reflection, grpcio-tools, grpcio, hatchling, httpx-sse, httpx, opentelemetry-api, opentelemetry-sdk, protobuf, pydantic, pyjwt, pytest-asyncio, pytestCheckHook, pythonAtLeast, respx, sqlalchemy, sse-starlette, starlette, uv-dynamic-versioning, uvicorn, }: buildPythonPackage (finalAttrs: { pname = "a2a-sdk"; version = "0.3.22"; pyproject = true; src = fetchFromGitHub { owner = "a2aproject"; repo = "a2a-python"; tag = "v${finalAttrs.version}"; hash = "sha256-RGD55BGxWSPJXKqDPcTYW3pIzlOVPoOqd3hyTArifqc="; }; build-system = [ hatchling uv-dynamic-versioning ]; dependencies = [ google-api-core httpx httpx-sse protobuf pydantic ]; optional-dependencies = { encryption = [ cryptography ]; grpc = [ grpcio grpcio-reflection grpcio-tools ]; http-server = [ fastapi sse-starlette starlette ]; mysql = [ sqlalchemy ]; postgresql = [ sqlalchemy ]; signing = [ pyjwt ]; sqlite = [ sqlalchemy ]; telemetry = [ opentelemetry-api opentelemetry-sdk ]; }; nativeCheckInputs = [ aiosqlite pytest-asyncio pytestCheckHook respx uvicorn ] ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); pythonImportsCheck = [ "a2a" ]; disabledTests = lib.optionals (pythonAtLeast "3.14") [ # _pickle.PicklingError: Can't pickle local object <function... "test_notification_triggering" ]; meta = { description = "Python SDK for the Agent2Agent (A2A) Protocol"; homepage = "https://github.com/a2aproject/a2a-python"; changelog = "https://github.com/a2aproject/a2a-python/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; }) pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ self: super: with self; { # by_regex ensures inherit statements are sorted after the (first) attribute name that is inherited. # keep-sorted start block=yes newline_separated=yes by_regex=["(?:inherit\\s+\\([^)]+\\)\\n?\\s*)?(.+)"] a2a-sdk = callPackage ../development/python-modules/a2a-sdk { }; a2wsgi = callPackage ../development/python-modules/a2wsgi { }; aafigure = callPackage ../development/python-modules/aafigure { }; Loading Loading
pkgs/development/python-modules/a2a-sdk/default.nix 0 → 100644 +101 −0 Original line number Diff line number Diff line { lib, aiosqlite, buildPythonPackage, cryptography, fastapi, fetchFromGitHub, google-api-core, grpcio-reflection, grpcio-tools, grpcio, hatchling, httpx-sse, httpx, opentelemetry-api, opentelemetry-sdk, protobuf, pydantic, pyjwt, pytest-asyncio, pytestCheckHook, pythonAtLeast, respx, sqlalchemy, sse-starlette, starlette, uv-dynamic-versioning, uvicorn, }: buildPythonPackage (finalAttrs: { pname = "a2a-sdk"; version = "0.3.22"; pyproject = true; src = fetchFromGitHub { owner = "a2aproject"; repo = "a2a-python"; tag = "v${finalAttrs.version}"; hash = "sha256-RGD55BGxWSPJXKqDPcTYW3pIzlOVPoOqd3hyTArifqc="; }; build-system = [ hatchling uv-dynamic-versioning ]; dependencies = [ google-api-core httpx httpx-sse protobuf pydantic ]; optional-dependencies = { encryption = [ cryptography ]; grpc = [ grpcio grpcio-reflection grpcio-tools ]; http-server = [ fastapi sse-starlette starlette ]; mysql = [ sqlalchemy ]; postgresql = [ sqlalchemy ]; signing = [ pyjwt ]; sqlite = [ sqlalchemy ]; telemetry = [ opentelemetry-api opentelemetry-sdk ]; }; nativeCheckInputs = [ aiosqlite pytest-asyncio pytestCheckHook respx uvicorn ] ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); pythonImportsCheck = [ "a2a" ]; disabledTests = lib.optionals (pythonAtLeast "3.14") [ # _pickle.PicklingError: Can't pickle local object <function... "test_notification_triggering" ]; meta = { description = "Python SDK for the Agent2Agent (A2A) Protocol"; homepage = "https://github.com/a2aproject/a2a-python"; changelog = "https://github.com/a2aproject/a2a-python/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; })
pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ self: super: with self; { # by_regex ensures inherit statements are sorted after the (first) attribute name that is inherited. # keep-sorted start block=yes newline_separated=yes by_regex=["(?:inherit\\s+\\([^)]+\\)\\n?\\s*)?(.+)"] a2a-sdk = callPackage ../development/python-modules/a2a-sdk { }; a2wsgi = callPackage ../development/python-modules/a2wsgi { }; aafigure = callPackage ../development/python-modules/aafigure { }; Loading