You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/contributing/testing.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,9 @@ Our test suite is built with `pytest` and is divided into three main categories.
6
6
-**End-to-End (E2E) Tests (`tests/e2e/`):** These tests validate the full application flow, primarily through the CLI. They use a **mocked LLM provider** but interact with the **real filesystem and tools**. They **do not** require real API keys to run.
7
7
-**Integration Tests (`tests/integration/`):** These tests verify the interaction between different parts of our SDK by making **real API calls** to external services (like OpenAI and Anthropic). They are slower, may incur costs, and require API keys and a special flag to run.
8
8
9
+
> [!IMPORTANT]
10
+
> **Python 3.10 or higher is required** for the Google (Gemini/Vertex AI) provider related tests. All other provider tests work with Python 3.9+. Use `-m "not_requires_python310"` to skip `GoogleProvider` related tests.
11
+
9
12
## Running Tests
10
13
11
14
We provide a helper script for the most common testing scenario and command-line flags for more specific needs.
@@ -53,6 +56,9 @@ If you are missing a required API key, pytest will skip the relevant tests and p
53
56
**Markers:**
54
57
*`@pytest.mark.requires_openai`: Used for tests hitting OpenAI directly OR using the `ChatCompletionsProvider` (which uses the `openai` library).
55
58
*`@pytest.mark.requires_anthropic`: Used for tests hitting Anthropic.
59
+
*`@pytest.mark.requires_ollama`: Used for tests hitting Ollama.
60
+
*`@pytest.mark.requires_gemini`: Used for tests hitting Gemini API.
61
+
*`@pytest.mark.requires_vertexai`: Used for tests hitting Google Vertex AI API.
Copy file name to clipboardExpand all lines: docs/installation.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,15 @@
2
2
3
3
This guide will walk you through installing the Allos Agent SDK. We recommend using `uv` for the fastest and most reliable experience.
4
4
5
+
## Python Version Requirements
6
+
7
+
Most providers work with Python 3.10+. However, **Google Gemini/Vertex AI provider requires Python 3.10+** due to dependencies on the Google GenAI SDK and [google-auth library](https://github.com/googleapis/google-auth-library-python).
8
+
9
+
If you need to use Python 3.9, you can still use all other providers (OpenAI, Anthropic, Ollama, etc.).
10
+
5
11
## Prerequisites
6
12
7
-
- Python 3.10+
13
+
- Python 3.9+
8
14
- We recommend installing `uv`, a next-generation Python package manager.
9
15
10
16
### Installing `uv`
@@ -36,12 +42,6 @@ This installs the core SDK without any specific provider libraries.
36
42
uv pip install allos-agent-sdk
37
43
```
38
44
39
-
## Python Version Requirements
40
-
41
-
Most providers work with Python 3.10+. However, **Google Gemini/Vertex AI provider requires Python 3.10+** due to dependencies on the Google GenAI SDK and [google-auth library](https://github.com/googleapis/google-auth-library-python).
42
-
43
-
If you need to use Python 3.9, you can still use all other providers (OpenAI, Anthropic, Ollama, etc.).
44
-
45
45
### Installation with Providers
46
46
47
47
To use a specific provider, you can install it as an "extra".
Copy file name to clipboardExpand all lines: docs/reference/provider-api.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,8 +67,8 @@ Different providers have different ways of identifying tool calls. The Allos SDK
67
67
>
68
68
> -**For most providers (like Anthropic):** The `id` is a straightforward unique identifier for the tool use block.
69
69
> -**For OpenAI's Responses API:** The API uses two types of IDs:
70
-
- An **item ID** (e.g., `"fc_..."`) that uniquely identifies the `function_call` object in the response list.
71
-
- A **correlation ID** or `call_id` (e.g., `"call_..."`) that is used to link the call to its eventual result.
70
+
> - An **item ID** (e.g., `"fc_..."`) that uniquely identifies the `function_call` object in the response list.
71
+
>- A **correlation ID** or `call_id` (e.g., `"call_..."`) that is used to link the call to its eventual result.
72
72
>
73
73
> **The `ToolCall.id` in the Allos SDK always stores the correlation ID (`call_id`).** Our `OpenAIProvider` handles the translation and management of the item IDs (`fc_...`) internally, so you only need to work with the correlation ID when building custom tools or inspecting the agent's context.
0 commit comments