diff --git a/pkgs/development/python-modules/claude-agent-sdk/default.nix b/pkgs/development/python-modules/claude-agent-sdk/default.nix new file mode 100644 index 000000000000..78cd42d97591 --- /dev/null +++ b/pkgs/development/python-modules/claude-agent-sdk/default.nix @@ -0,0 +1,56 @@ +{ + lib, + anyio, + buildPythonPackage, + fetchFromGitHub, + hatchling, + mcp, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + typing-extensions, +}: + +buildPythonPackage (finalAttrs: { + pname = "claude-agent-sdk"; + version = "0.1.21"; + pyproject = true; + + src = fetchFromGitHub { + owner = "anthropics"; + repo = "claude-agent-sdk-python"; + tag = "v${finalAttrs.version}"; + hash = "sha256-lMmE1Z7KifuoidI120plGbh7fS76tN+9ZeTi+a2vSjE="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + anyio + mcp + typing-extensions + ]; + + nativeCheckInputs = [ + anyio + pytestCheckHook + pytest-asyncio + pytest-cov-stub + ] + ++ anyio.passthru.optional-dependencies.trio; + + pythonImportsCheck = [ "claude_agent_sdk" ]; + + disabledTests = [ + # Code not available + "test_query_with_async_iterable" + ]; + + meta = { + description = "Python SDK for Claude Agent"; + homepage = "https://github.com/anthropics/claude-agent-sdk-python"; + changelog = "https://github.com/anthropics/claude-agent-sdk-python/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index da84d3a7976f..9fd4d06365d4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2723,6 +2723,8 @@ self: super: with self; { classify-imports = callPackage ../development/python-modules/classify-imports { }; + claude-agent-sdk = callPackage ../development/python-modules/claude-agent-sdk { }; + cle = callPackage ../development/python-modules/cle { }; clean-fid = callPackage ../development/python-modules/clean-fid { };