diff --git a/CHANGELOG.md b/CHANGELOG.md index 578c14c..9aae9da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Version 0.4.10 - 2025-11-24 + +- Add get_agent_statistics method + ## Version 0.4.9 - 2025-11-18 - Add delete_agent_run method diff --git a/pyproject.toml b/pyproject.toml index eb6d6a0..5c12df2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "cradl" -version = "0.4.9" +version = "0.4.10" description = "Python SDK for Cradl" authors = [{ name = "Cradl", email = "hello@cradl.ai" }] readme = "README.md" diff --git a/src/cradl/client.py b/src/cradl/client.py index 6856eea..ed53cdc 100644 --- a/src/cradl/client.py +++ b/src/cradl/client.py @@ -2963,6 +2963,29 @@ def delete_agent_run(self, agent_id: str, run_id: str) -> Dict: """ return self._make_request(requests.delete, f'/agents/{agent_id}/runs/{run_id}') + def get_agent_statistics(self, agent_id: str, *, after: Union[str, datetime], before: Union[str, datetime]) -> Dict: + """Get agent statistics, calls the GET /agents/{agentId}/statistics endpoint. + + :param agent_id: Id of the agent + :type agent_id: str + :param after: Start time for statistics interval + :type after: str or datetime, optional + :param before: End time for statistics interval + :type before: str or datetime, optional + :return: Agent statistics response from REST API + :rtype: dict + + :raises: :py:class:`~cradl.InvalidCredentialsException`, :py:class:`~cradl.TooManyRequestsException`,\ + :py:class:`~cradl.LimitExceededException`, :py:class:`requests.exception.RequestException` + """ + params = { + 'after': datetimestr(after), + 'before': datetimestr(before), + } + + agent_statistics = self._make_request(requests.get, f'/agents/{agent_id}/statistics', params=params) + return agent_statistics + def list_hooks(self, *, max_results: Optional[int] = None, next_token: Optional[str] = None) -> Dict: """List hooks available, calls the GET /hooks endpoint.