Something went wrong. Try again.
lol
Something went wrong. Try again.
2.4 kB · 119 lines
Nix
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120{ 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, pytest-cov-stub, pytest-timeout, pytest-xdist, pytestCheckHook, pythonAtLeast, respx, sqlalchemy, sse-starlette, starlette, uv-dynamic-versioning, uvicorn,}:
buildPythonPackage (finalAttrs: { pname = "a2a-sdk"; version = "0.3.26"; pyproject = true;
src = fetchFromGitHub { owner = "a2aproject"; repo = "a2a-python"; tag = "v${finalAttrs.version}"; hash = "sha256-OQVNoKCx/7t3LeLgcVCVJUDnrWnugbM6EReE0713CM4="; };
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 ] ++ sqlalchemy.optional-dependencies.asyncio ++ sqlalchemy.optional-dependencies.postgresql_asyncpg; postgresql = [ sqlalchemy ] ++ sqlalchemy.optional-dependencies.asyncio ++ sqlalchemy.optional-dependencies.postgresql_asyncpg; signing = [ pyjwt ]; sqlite = [ sqlalchemy ] ++ sqlalchemy.optional-dependencies.asyncio ++ sqlalchemy.optional-dependencies.aiosqlite; telemetry = [ opentelemetry-api opentelemetry-sdk ]; };
nativeCheckInputs = [ aiosqlite pytest-asyncio pytest-cov-stub pytest-timeout pytest-xdist 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 ]; };})