diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 5547f83..10f3091 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.1.1"
+ ".": "0.2.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index b03576e..eb1965b 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 3
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-c4c5f89f67a73e4d17377d2b96fc201a63cd5458cbebaa23e78f92b59b90cc5b.yml
openapi_spec_hash: 931c6189a4fc4ee320963646b1b7edbe
-config_hash: f555d17517c40197d3ba9240ca35e1ee
+config_hash: fa393af196be851b15bd1394c2eaafaa
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3daa2a9..bbcd584 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,18 @@
# Changelog
+## 0.2.0 (2025-12-17)
+
+Full Changelog: [v0.1.1...v0.2.0](https://github.com/warpdotdev/warp-sdk-python/compare/v0.1.1...v0.2.0)
+
+### Features
+
+* **api:** manual updates ([2fc23de](https://github.com/warpdotdev/warp-sdk-python/commit/2fc23de0e1d42443e691350804605243c5902026))
+
+
+### Chores
+
+* update SDK settings ([a94be20](https://github.com/warpdotdev/warp-sdk-python/commit/a94be20a45967c6ec5bd95dcc3ffcf457db84305))
+
## 0.1.1 (2025-12-17)
Full Changelog: [v0.1.0...v0.1.1](https://github.com/warpdotdev/warp-sdk-python/compare/v0.1.0...v0.1.1)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 06682fd..c2ff24b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -36,7 +36,7 @@ $ pip install -r requirements-dev.lock
Most of the SDK is generated code. Modifications to code will be persisted between generations, but may
result in merge conflicts between manual patches and changes from the generator. The generator will never
-modify the contents of the `src/warp_sdk/lib/` and `examples/` directories.
+modify the contents of the `src/warp_agent_sdk/lib/` and `examples/` directories.
## Adding and running examples
diff --git a/README.md b/README.md
index 725935a..dafd2a7 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# Warp API Python API library
-[)](https://pypi.org/project/warp-sdk/)
+[)](https://pypi.org/project/warp-agent-sdk/)
The Warp API Python library provides convenient access to the Warp API REST API from any Python 3.9+
application. The library includes type definitions for all request params and response fields,
@@ -17,7 +17,7 @@ The full API of this library can be found in [api.md](api.md).
```sh
# install from PyPI
-pip install warp-sdk
+pip install warp-agent-sdk
```
## Usage
@@ -26,7 +26,7 @@ The full API of this library can be found in [api.md](api.md).
```python
import os
-from warp_sdk import WarpAPI
+from warp_agent_sdk import WarpAPI
client = WarpAPI(
api_key=os.environ.get("WARP_API_KEY"), # This is the default and can be omitted
@@ -108,7 +108,7 @@ Simply import `AsyncWarpAPI` instead of `WarpAPI` and use `await` with each API
```python
import os
import asyncio
-from warp_sdk import AsyncWarpAPI
+from warp_agent_sdk import AsyncWarpAPI
client = AsyncWarpAPI(
api_key=os.environ.get("WARP_API_KEY"), # This is the default and can be omitted
@@ -135,7 +135,7 @@ You can enable this by installing `aiohttp`:
```sh
# install from PyPI
-pip install warp-sdk[aiohttp]
+pip install warp-agent-sdk[aiohttp]
```
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
@@ -143,8 +143,8 @@ Then you can enable it by instantiating the client with `http_client=DefaultAioH
```python
import os
import asyncio
-from warp_sdk import DefaultAioHttpClient
-from warp_sdk import AsyncWarpAPI
+from warp_agent_sdk import DefaultAioHttpClient
+from warp_agent_sdk import AsyncWarpAPI
async def main() -> None:
@@ -175,7 +175,7 @@ Typed requests and responses provide autocomplete and documentation within your
Nested parameters are dictionaries, typed using `TypedDict`, for example:
```python
-from warp_sdk import WarpAPI
+from warp_agent_sdk import WarpAPI
client = WarpAPI()
@@ -188,16 +188,16 @@ print(response.config)
## Handling errors
-When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `warp_sdk.APIConnectionError` is raised.
+When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `warp_agent_sdk.APIConnectionError` is raised.
When the API returns a non-success status code (that is, 4xx or 5xx
-response), a subclass of `warp_sdk.APIStatusError` is raised, containing `status_code` and `response` properties.
+response), a subclass of `warp_agent_sdk.APIStatusError` is raised, containing `status_code` and `response` properties.
-All errors inherit from `warp_sdk.APIError`.
+All errors inherit from `warp_agent_sdk.APIError`.
```python
-import warp_sdk
-from warp_sdk import WarpAPI
+import warp_agent_sdk
+from warp_agent_sdk import WarpAPI
client = WarpAPI()
@@ -205,12 +205,12 @@ try:
client.agent.run(
prompt="Fix the bug in auth.go",
)
-except warp_sdk.APIConnectionError as e:
+except warp_agent_sdk.APIConnectionError as e:
print("The server could not be reached")
print(e.__cause__) # an underlying Exception, likely raised within httpx.
-except warp_sdk.RateLimitError as e:
+except warp_agent_sdk.RateLimitError as e:
print("A 429 status code was received; we should back off a bit.")
-except warp_sdk.APIStatusError as e:
+except warp_agent_sdk.APIStatusError as e:
print("Another non-200-range status code was received")
print(e.status_code)
print(e.response)
@@ -238,7 +238,7 @@ Connection errors (for example, due to a network connectivity problem), 408 Requ
You can use the `max_retries` option to configure or disable retry settings:
```python
-from warp_sdk import WarpAPI
+from warp_agent_sdk import WarpAPI
# Configure the default for all requests:
client = WarpAPI(
@@ -258,7 +258,7 @@ By default requests time out after 1 minute. You can configure this with a `time
which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
```python
-from warp_sdk import WarpAPI
+from warp_agent_sdk import WarpAPI
# Configure the default for all requests:
client = WarpAPI(
@@ -312,7 +312,7 @@ if response.my_field is None:
The "raw" Response object can be accessed by prefixing `.with_raw_response.` to any HTTP method call, e.g.,
```py
-from warp_sdk import WarpAPI
+from warp_agent_sdk import WarpAPI
client = WarpAPI()
response = client.agent.with_raw_response.run(
@@ -324,9 +324,9 @@ agent = response.parse() # get the object that `agent.run()` would have returne
print(agent.task_id)
```
-These methods return an [`APIResponse`](https://github.com/warpdotdev/warp-sdk-python/tree/main/src/warp_sdk/_response.py) object.
+These methods return an [`APIResponse`](https://github.com/warpdotdev/warp-sdk-python/tree/main/src/warp_agent_sdk/_response.py) object.
-The async client returns an [`AsyncAPIResponse`](https://github.com/warpdotdev/warp-sdk-python/tree/main/src/warp_sdk/_response.py) with the same structure, the only difference being `await`able methods for reading the response content.
+The async client returns an [`AsyncAPIResponse`](https://github.com/warpdotdev/warp-sdk-python/tree/main/src/warp_agent_sdk/_response.py) with the same structure, the only difference being `await`able methods for reading the response content.
#### `.with_streaming_response`
@@ -390,7 +390,7 @@ You can directly override the [httpx client](https://www.python-httpx.org/api/#c
```python
import httpx
-from warp_sdk import WarpAPI, DefaultHttpxClient
+from warp_agent_sdk import WarpAPI, DefaultHttpxClient
client = WarpAPI(
# Or use the `WARP_API_BASE_URL` env var
@@ -413,7 +413,7 @@ client.with_options(http_client=DefaultHttpxClient(...))
By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.
```py
-from warp_sdk import WarpAPI
+from warp_agent_sdk import WarpAPI
with WarpAPI() as client:
# make requests here
@@ -441,8 +441,8 @@ If you've upgraded to the latest version but aren't seeing any new features you
You can determine the version that is being used at runtime with:
```py
-import warp_sdk
-print(warp_sdk.__version__)
+import warp_agent_sdk
+print(warp_agent_sdk.__version__)
```
## Requirements
diff --git a/api.md b/api.md
index 353737a..f438daa 100644
--- a/api.md
+++ b/api.md
@@ -3,22 +3,22 @@
Types:
```python
-from warp_sdk.types import AmbientAgentConfig, AgentRunResponse
+from warp_agent_sdk.types import AmbientAgentConfig, AgentRunResponse
```
Methods:
-- client.agent.run(\*\*params) -> AgentRunResponse
+- client.agent.run(\*\*params) -> AgentRunResponse
## Tasks
Types:
```python
-from warp_sdk.types.agent import TaskItem, TaskSourceType, TaskState, TaskListResponse
+from warp_agent_sdk.types.agent import TaskItem, TaskSourceType, TaskState, TaskListResponse
```
Methods:
-- client.agent.tasks.retrieve(task_id) -> TaskItem
-- client.agent.tasks.list(\*\*params) -> TaskListResponse
+- client.agent.tasks.retrieve(task_id) -> TaskItem
+- client.agent.tasks.list(\*\*params) -> TaskListResponse
diff --git a/pyproject.toml b/pyproject.toml
index 01d9747..309bb73 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
-name = "warp-sdk"
-version = "0.1.1"
+name = "warp-agent-sdk"
+version = "0.2.0"
description = "The official Python library for the warp-api API"
dynamic = ["readme"]
license = "Apache-2.0"
@@ -86,7 +86,7 @@ include = [
]
[tool.hatch.build.targets.wheel]
-packages = ["src/warp_sdk"]
+packages = ["src/warp_agent_sdk"]
[tool.hatch.build.targets.sdist]
# Basically everything except hidden files/directories (such as .github, .devcontainers, .python-version, etc)
@@ -154,7 +154,7 @@ show_error_codes = true
#
# We also exclude our `tests` as mypy doesn't always infer
# types correctly and Pyright will still catch any type errors.
-exclude = ['src/warp_sdk/_files.py', '_dev/.*.py', 'tests/.*']
+exclude = ['src/warp_agent_sdk/_files.py', '_dev/.*.py', 'tests/.*']
strict_equality = true
implicit_reexport = true
@@ -246,7 +246,7 @@ length-sort = true
length-sort-straight = true
combine-as-imports = true
extra-standard-library = ["typing_extensions"]
-known-first-party = ["warp_sdk", "tests"]
+known-first-party = ["warp_agent_sdk", "tests"]
[tool.ruff.lint.per-file-ignores]
"bin/**.py" = ["T201", "T203"]
diff --git a/release-please-config.json b/release-please-config.json
index e58e8a9..1ba0756 100644
--- a/release-please-config.json
+++ b/release-please-config.json
@@ -61,6 +61,6 @@
],
"release-type": "python",
"extra-files": [
- "src/warp_sdk/_version.py"
+ "src/warp_agent_sdk/_version.py"
]
}
\ No newline at end of file
diff --git a/requirements-dev.lock b/requirements-dev.lock
index 0c80afe..b68dd0d 100644
--- a/requirements-dev.lock
+++ b/requirements-dev.lock
@@ -6,7 +6,7 @@ annotated-types==0.7.0
anyio==4.12.0
# via
# httpx
- # warp-sdk
+ # warp-agent-sdk
backports-asyncio-runner==1.2.0 ; python_full_version < '3.11'
# via pytest-asyncio
certifi==2025.11.12
@@ -17,7 +17,7 @@ colorama==0.4.6 ; sys_platform == 'win32'
# via pytest
dirty-equals==0.11
distro==1.9.0
- # via warp-sdk
+ # via warp-agent-sdk
exceptiongroup==1.3.1 ; python_full_version < '3.11'
# via
# anyio
@@ -31,7 +31,7 @@ httpcore==1.0.9
httpx==0.28.1
# via
# respx
- # warp-sdk
+ # warp-agent-sdk
idna==3.11
# via
# anyio
@@ -59,7 +59,7 @@ pathspec==0.12.1
pluggy==1.6.0
# via pytest
pydantic==2.12.5
- # via warp-sdk
+ # via warp-agent-sdk
pydantic-core==2.41.5
# via pydantic
pygments==2.19.2
@@ -86,7 +86,7 @@ ruff==0.14.7
six==1.17.0 ; python_full_version < '3.10'
# via python-dateutil
sniffio==1.3.1
- # via warp-sdk
+ # via warp-agent-sdk
time-machine==2.19.0 ; python_full_version < '3.10'
time-machine==3.1.0 ; python_full_version >= '3.10'
tomli==2.3.0 ; python_full_version < '3.11'
@@ -103,7 +103,7 @@ typing-extensions==4.15.0
# pyright
# pytest-asyncio
# typing-inspection
- # warp-sdk
+ # warp-agent-sdk
typing-inspection==0.4.2
# via pydantic
zipp==3.23.0
diff --git a/scripts/lint b/scripts/lint
index b2b49cf..6a63b41 100755
--- a/scripts/lint
+++ b/scripts/lint
@@ -14,4 +14,4 @@ echo "==> Running mypy"
uv run mypy .
echo "==> Making sure it imports"
-uv run python -c 'import warp_sdk'
+uv run python -c 'import warp_agent_sdk'
diff --git a/src/warp_sdk/__init__.py b/src/warp_agent_sdk/__init__.py
similarity index 94%
rename from src/warp_sdk/__init__.py
rename to src/warp_agent_sdk/__init__.py
index 71278c8..a760aa2 100644
--- a/src/warp_sdk/__init__.py
+++ b/src/warp_agent_sdk/__init__.py
@@ -81,12 +81,12 @@
# Update the __module__ attribute for exported symbols so that
# error messages point to this module instead of the module
# it was originally defined in, e.g.
-# warp_sdk._exceptions.NotFoundError -> warp_sdk.NotFoundError
+# warp_agent_sdk._exceptions.NotFoundError -> warp_agent_sdk.NotFoundError
__locals = locals()
for __name in __all__:
if not __name.startswith("__"):
try:
- __locals[__name].__module__ = "warp_sdk"
+ __locals[__name].__module__ = "warp_agent_sdk"
except (TypeError, AttributeError):
# Some of our exported symbols are builtins which we can't set attributes for.
pass
diff --git a/src/warp_sdk/_base_client.py b/src/warp_agent_sdk/_base_client.py
similarity index 99%
rename from src/warp_sdk/_base_client.py
rename to src/warp_agent_sdk/_base_client.py
index bd9d366..7f4a21c 100644
--- a/src/warp_sdk/_base_client.py
+++ b/src/warp_agent_sdk/_base_client.py
@@ -389,7 +389,7 @@ def __init__(
if max_retries is None: # pyright: ignore[reportUnnecessaryComparison]
raise TypeError(
- "max_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `warp_sdk.DEFAULT_MAX_RETRIES`"
+ "max_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `warp_agent_sdk.DEFAULT_MAX_RETRIES`"
)
def _enforce_trailing_slash(self, url: URL) -> URL:
diff --git a/src/warp_sdk/_client.py b/src/warp_agent_sdk/_client.py
similarity index 100%
rename from src/warp_sdk/_client.py
rename to src/warp_agent_sdk/_client.py
diff --git a/src/warp_sdk/_compat.py b/src/warp_agent_sdk/_compat.py
similarity index 100%
rename from src/warp_sdk/_compat.py
rename to src/warp_agent_sdk/_compat.py
diff --git a/src/warp_sdk/_constants.py b/src/warp_agent_sdk/_constants.py
similarity index 100%
rename from src/warp_sdk/_constants.py
rename to src/warp_agent_sdk/_constants.py
diff --git a/src/warp_sdk/_exceptions.py b/src/warp_agent_sdk/_exceptions.py
similarity index 100%
rename from src/warp_sdk/_exceptions.py
rename to src/warp_agent_sdk/_exceptions.py
diff --git a/src/warp_sdk/_files.py b/src/warp_agent_sdk/_files.py
similarity index 100%
rename from src/warp_sdk/_files.py
rename to src/warp_agent_sdk/_files.py
diff --git a/src/warp_sdk/_models.py b/src/warp_agent_sdk/_models.py
similarity index 100%
rename from src/warp_sdk/_models.py
rename to src/warp_agent_sdk/_models.py
diff --git a/src/warp_sdk/_qs.py b/src/warp_agent_sdk/_qs.py
similarity index 100%
rename from src/warp_sdk/_qs.py
rename to src/warp_agent_sdk/_qs.py
diff --git a/src/warp_sdk/_resource.py b/src/warp_agent_sdk/_resource.py
similarity index 100%
rename from src/warp_sdk/_resource.py
rename to src/warp_agent_sdk/_resource.py
diff --git a/src/warp_sdk/_response.py b/src/warp_agent_sdk/_response.py
similarity index 98%
rename from src/warp_sdk/_response.py
rename to src/warp_agent_sdk/_response.py
index e53fe74..0b0ae70 100644
--- a/src/warp_sdk/_response.py
+++ b/src/warp_agent_sdk/_response.py
@@ -217,7 +217,9 @@ def _parse(self, *, to: type[_T] | None = None) -> R | _T:
and not issubclass(origin, BaseModel)
and issubclass(origin, pydantic.BaseModel)
):
- raise TypeError("Pydantic models must subclass our base model type, e.g. `from warp_sdk import BaseModel`")
+ raise TypeError(
+ "Pydantic models must subclass our base model type, e.g. `from warp_agent_sdk import BaseModel`"
+ )
if (
cast_to is not object
@@ -283,7 +285,7 @@ def parse(self, *, to: type[_T] | None = None) -> R | _T:
the `to` argument, e.g.
```py
- from warp_sdk import BaseModel
+ from warp_agent_sdk import BaseModel
class MyModel(BaseModel):
@@ -385,7 +387,7 @@ async def parse(self, *, to: type[_T] | None = None) -> R | _T:
the `to` argument, e.g.
```py
- from warp_sdk import BaseModel
+ from warp_agent_sdk import BaseModel
class MyModel(BaseModel):
@@ -556,7 +558,7 @@ async def stream_to_file(
class MissingStreamClassError(TypeError):
def __init__(self) -> None:
super().__init__(
- "The `stream` argument was set to `True` but the `stream_cls` argument was not given. See `warp_sdk._streaming` for reference",
+ "The `stream` argument was set to `True` but the `stream_cls` argument was not given. See `warp_agent_sdk._streaming` for reference",
)
diff --git a/src/warp_sdk/_streaming.py b/src/warp_agent_sdk/_streaming.py
similarity index 100%
rename from src/warp_sdk/_streaming.py
rename to src/warp_agent_sdk/_streaming.py
diff --git a/src/warp_sdk/_types.py b/src/warp_agent_sdk/_types.py
similarity index 99%
rename from src/warp_sdk/_types.py
rename to src/warp_agent_sdk/_types.py
index c11803d..6c063c0 100644
--- a/src/warp_sdk/_types.py
+++ b/src/warp_agent_sdk/_types.py
@@ -92,7 +92,7 @@
# This unfortunately means that you will either have
# to import this type and pass it explicitly:
#
-# from warp_sdk import NoneType
+# from warp_agent_sdk import NoneType
# client.get('/foo', cast_to=NoneType)
#
# or build it yourself:
diff --git a/src/warp_sdk/_utils/__init__.py b/src/warp_agent_sdk/_utils/__init__.py
similarity index 100%
rename from src/warp_sdk/_utils/__init__.py
rename to src/warp_agent_sdk/_utils/__init__.py
diff --git a/src/warp_sdk/_utils/_compat.py b/src/warp_agent_sdk/_utils/_compat.py
similarity index 100%
rename from src/warp_sdk/_utils/_compat.py
rename to src/warp_agent_sdk/_utils/_compat.py
diff --git a/src/warp_sdk/_utils/_datetime_parse.py b/src/warp_agent_sdk/_utils/_datetime_parse.py
similarity index 100%
rename from src/warp_sdk/_utils/_datetime_parse.py
rename to src/warp_agent_sdk/_utils/_datetime_parse.py
diff --git a/src/warp_sdk/_utils/_logs.py b/src/warp_agent_sdk/_utils/_logs.py
similarity index 75%
rename from src/warp_sdk/_utils/_logs.py
rename to src/warp_agent_sdk/_utils/_logs.py
index 02e00e0..fdb4b91 100644
--- a/src/warp_sdk/_utils/_logs.py
+++ b/src/warp_agent_sdk/_utils/_logs.py
@@ -1,12 +1,12 @@
import os
import logging
-logger: logging.Logger = logging.getLogger("warp_sdk")
+logger: logging.Logger = logging.getLogger("warp_agent_sdk")
httpx_logger: logging.Logger = logging.getLogger("httpx")
def _basic_config() -> None:
- # e.g. [2023-10-05 14:12:26 - warp_sdk._base_client:818 - DEBUG] HTTP Request: POST http://127.0.0.1:4010/foo/bar "200 OK"
+ # e.g. [2023-10-05 14:12:26 - warp_agent_sdk._base_client:818 - DEBUG] HTTP Request: POST http://127.0.0.1:4010/foo/bar "200 OK"
logging.basicConfig(
format="[%(asctime)s - %(name)s:%(lineno)d - %(levelname)s] %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
diff --git a/src/warp_sdk/_utils/_proxy.py b/src/warp_agent_sdk/_utils/_proxy.py
similarity index 100%
rename from src/warp_sdk/_utils/_proxy.py
rename to src/warp_agent_sdk/_utils/_proxy.py
diff --git a/src/warp_sdk/_utils/_reflection.py b/src/warp_agent_sdk/_utils/_reflection.py
similarity index 100%
rename from src/warp_sdk/_utils/_reflection.py
rename to src/warp_agent_sdk/_utils/_reflection.py
diff --git a/src/warp_sdk/_utils/_resources_proxy.py b/src/warp_agent_sdk/_utils/_resources_proxy.py
similarity index 50%
rename from src/warp_sdk/_utils/_resources_proxy.py
rename to src/warp_agent_sdk/_utils/_resources_proxy.py
index d7ebb7c..63256ef 100644
--- a/src/warp_sdk/_utils/_resources_proxy.py
+++ b/src/warp_agent_sdk/_utils/_resources_proxy.py
@@ -7,17 +7,17 @@
class ResourcesProxy(LazyProxy[Any]):
- """A proxy for the `warp_sdk.resources` module.
+ """A proxy for the `warp_agent_sdk.resources` module.
- This is used so that we can lazily import `warp_sdk.resources` only when
- needed *and* so that users can just import `warp_sdk` and reference `warp_sdk.resources`
+ This is used so that we can lazily import `warp_agent_sdk.resources` only when
+ needed *and* so that users can just import `warp_agent_sdk` and reference `warp_agent_sdk.resources`
"""
@override
def __load__(self) -> Any:
import importlib
- mod = importlib.import_module("warp_sdk.resources")
+ mod = importlib.import_module("warp_agent_sdk.resources")
return mod
diff --git a/src/warp_sdk/_utils/_streams.py b/src/warp_agent_sdk/_utils/_streams.py
similarity index 100%
rename from src/warp_sdk/_utils/_streams.py
rename to src/warp_agent_sdk/_utils/_streams.py
diff --git a/src/warp_sdk/_utils/_sync.py b/src/warp_agent_sdk/_utils/_sync.py
similarity index 100%
rename from src/warp_sdk/_utils/_sync.py
rename to src/warp_agent_sdk/_utils/_sync.py
diff --git a/src/warp_sdk/_utils/_transform.py b/src/warp_agent_sdk/_utils/_transform.py
similarity index 100%
rename from src/warp_sdk/_utils/_transform.py
rename to src/warp_agent_sdk/_utils/_transform.py
diff --git a/src/warp_sdk/_utils/_typing.py b/src/warp_agent_sdk/_utils/_typing.py
similarity index 100%
rename from src/warp_sdk/_utils/_typing.py
rename to src/warp_agent_sdk/_utils/_typing.py
diff --git a/src/warp_sdk/_utils/_utils.py b/src/warp_agent_sdk/_utils/_utils.py
similarity index 100%
rename from src/warp_sdk/_utils/_utils.py
rename to src/warp_agent_sdk/_utils/_utils.py
diff --git a/src/warp_sdk/_version.py b/src/warp_agent_sdk/_version.py
similarity index 52%
rename from src/warp_sdk/_version.py
rename to src/warp_agent_sdk/_version.py
index 4ae9a1f..5a396ab 100644
--- a/src/warp_sdk/_version.py
+++ b/src/warp_agent_sdk/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-__title__ = "warp_sdk"
-__version__ = "0.1.1" # x-release-please-version
+__title__ = "warp_agent_sdk"
+__version__ = "0.2.0" # x-release-please-version
diff --git a/src/warp_agent_sdk/lib/.keep b/src/warp_agent_sdk/lib/.keep
new file mode 100644
index 0000000..5e2c99f
--- /dev/null
+++ b/src/warp_agent_sdk/lib/.keep
@@ -0,0 +1,4 @@
+File generated from our OpenAPI spec by Stainless.
+
+This directory can be used to store custom files to expand the SDK.
+It is ignored by Stainless code generation and its content (other than this keep file) won't be touched.
\ No newline at end of file
diff --git a/src/warp_sdk/py.typed b/src/warp_agent_sdk/py.typed
similarity index 100%
rename from src/warp_sdk/py.typed
rename to src/warp_agent_sdk/py.typed
diff --git a/src/warp_sdk/resources/__init__.py b/src/warp_agent_sdk/resources/__init__.py
similarity index 100%
rename from src/warp_sdk/resources/__init__.py
rename to src/warp_agent_sdk/resources/__init__.py
diff --git a/src/warp_sdk/resources/agent/__init__.py b/src/warp_agent_sdk/resources/agent/__init__.py
similarity index 100%
rename from src/warp_sdk/resources/agent/__init__.py
rename to src/warp_agent_sdk/resources/agent/__init__.py
diff --git a/src/warp_sdk/resources/agent/agent.py b/src/warp_agent_sdk/resources/agent/agent.py
similarity index 100%
rename from src/warp_sdk/resources/agent/agent.py
rename to src/warp_agent_sdk/resources/agent/agent.py
diff --git a/src/warp_sdk/resources/agent/tasks.py b/src/warp_agent_sdk/resources/agent/tasks.py
similarity index 100%
rename from src/warp_sdk/resources/agent/tasks.py
rename to src/warp_agent_sdk/resources/agent/tasks.py
diff --git a/src/warp_sdk/types/__init__.py b/src/warp_agent_sdk/types/__init__.py
similarity index 100%
rename from src/warp_sdk/types/__init__.py
rename to src/warp_agent_sdk/types/__init__.py
diff --git a/src/warp_sdk/types/agent/__init__.py b/src/warp_agent_sdk/types/agent/__init__.py
similarity index 100%
rename from src/warp_sdk/types/agent/__init__.py
rename to src/warp_agent_sdk/types/agent/__init__.py
diff --git a/src/warp_sdk/types/agent/task_item.py b/src/warp_agent_sdk/types/agent/task_item.py
similarity index 100%
rename from src/warp_sdk/types/agent/task_item.py
rename to src/warp_agent_sdk/types/agent/task_item.py
diff --git a/src/warp_sdk/types/agent/task_list_params.py b/src/warp_agent_sdk/types/agent/task_list_params.py
similarity index 100%
rename from src/warp_sdk/types/agent/task_list_params.py
rename to src/warp_agent_sdk/types/agent/task_list_params.py
diff --git a/src/warp_sdk/types/agent/task_list_response.py b/src/warp_agent_sdk/types/agent/task_list_response.py
similarity index 100%
rename from src/warp_sdk/types/agent/task_list_response.py
rename to src/warp_agent_sdk/types/agent/task_list_response.py
diff --git a/src/warp_sdk/types/agent/task_source_type.py b/src/warp_agent_sdk/types/agent/task_source_type.py
similarity index 100%
rename from src/warp_sdk/types/agent/task_source_type.py
rename to src/warp_agent_sdk/types/agent/task_source_type.py
diff --git a/src/warp_sdk/types/agent/task_state.py b/src/warp_agent_sdk/types/agent/task_state.py
similarity index 100%
rename from src/warp_sdk/types/agent/task_state.py
rename to src/warp_agent_sdk/types/agent/task_state.py
diff --git a/src/warp_sdk/types/agent_run_params.py b/src/warp_agent_sdk/types/agent_run_params.py
similarity index 100%
rename from src/warp_sdk/types/agent_run_params.py
rename to src/warp_agent_sdk/types/agent_run_params.py
diff --git a/src/warp_sdk/types/agent_run_response.py b/src/warp_agent_sdk/types/agent_run_response.py
similarity index 100%
rename from src/warp_sdk/types/agent_run_response.py
rename to src/warp_agent_sdk/types/agent_run_response.py
diff --git a/src/warp_sdk/types/ambient_agent_config.py b/src/warp_agent_sdk/types/ambient_agent_config.py
similarity index 100%
rename from src/warp_sdk/types/ambient_agent_config.py
rename to src/warp_agent_sdk/types/ambient_agent_config.py
diff --git a/src/warp_sdk/types/ambient_agent_config_param.py b/src/warp_agent_sdk/types/ambient_agent_config_param.py
similarity index 100%
rename from src/warp_sdk/types/ambient_agent_config_param.py
rename to src/warp_agent_sdk/types/ambient_agent_config_param.py
diff --git a/tests/api_resources/agent/test_tasks.py b/tests/api_resources/agent/test_tasks.py
index 6d7af7a..f5e4d52 100644
--- a/tests/api_resources/agent/test_tasks.py
+++ b/tests/api_resources/agent/test_tasks.py
@@ -7,10 +7,10 @@
import pytest
-from warp_sdk import WarpAPI, AsyncWarpAPI
from tests.utils import assert_matches_type
-from warp_sdk._utils import parse_datetime
-from warp_sdk.types.agent import TaskItem, TaskListResponse
+from warp_agent_sdk import WarpAPI, AsyncWarpAPI
+from warp_agent_sdk._utils import parse_datetime
+from warp_agent_sdk.types.agent import TaskItem, TaskListResponse
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
diff --git a/tests/api_resources/test_agent.py b/tests/api_resources/test_agent.py
index 7a13d6c..fcb0851 100644
--- a/tests/api_resources/test_agent.py
+++ b/tests/api_resources/test_agent.py
@@ -7,9 +7,9 @@
import pytest
-from warp_sdk import WarpAPI, AsyncWarpAPI
from tests.utils import assert_matches_type
-from warp_sdk.types import AgentRunResponse
+from warp_agent_sdk import WarpAPI, AsyncWarpAPI
+from warp_agent_sdk.types import AgentRunResponse
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
diff --git a/tests/conftest.py b/tests/conftest.py
index 22b6062..6241e82 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -10,15 +10,15 @@
import pytest
from pytest_asyncio import is_async_test
-from warp_sdk import WarpAPI, AsyncWarpAPI, DefaultAioHttpClient
-from warp_sdk._utils import is_dict
+from warp_agent_sdk import WarpAPI, AsyncWarpAPI, DefaultAioHttpClient
+from warp_agent_sdk._utils import is_dict
if TYPE_CHECKING:
from _pytest.fixtures import FixtureRequest # pyright: ignore[reportPrivateImportUsage]
pytest.register_assert_rewrite("tests.utils")
-logging.getLogger("warp_sdk").setLevel(logging.DEBUG)
+logging.getLogger("warp_agent_sdk").setLevel(logging.DEBUG)
# automatically add `pytest.mark.asyncio()` to all of our async tests
diff --git a/tests/test_client.py b/tests/test_client.py
index 4ce6f92..7e28add 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -18,12 +18,12 @@
from respx import MockRouter
from pydantic import ValidationError
-from warp_sdk import WarpAPI, AsyncWarpAPI, APIResponseValidationError
-from warp_sdk._types import Omit
-from warp_sdk._utils import asyncify
-from warp_sdk._models import BaseModel, FinalRequestOptions
-from warp_sdk._exceptions import WarpAPIError, APIStatusError, APITimeoutError, APIResponseValidationError
-from warp_sdk._base_client import (
+from warp_agent_sdk import WarpAPI, AsyncWarpAPI, APIResponseValidationError
+from warp_agent_sdk._types import Omit
+from warp_agent_sdk._utils import asyncify
+from warp_agent_sdk._models import BaseModel, FinalRequestOptions
+from warp_agent_sdk._exceptions import WarpAPIError, APIStatusError, APITimeoutError, APIResponseValidationError
+from warp_agent_sdk._base_client import (
DEFAULT_TIMEOUT,
HTTPX_DEFAULT_TIMEOUT,
BaseClient,
@@ -233,10 +233,10 @@ def add_leak(leaks: list[tracemalloc.StatisticDiff], diff: tracemalloc.Statistic
# to_raw_response_wrapper leaks through the @functools.wraps() decorator.
#
# removing the decorator fixes the leak for reasons we don't understand.
- "warp_sdk/_legacy_response.py",
- "warp_sdk/_response.py",
+ "warp_agent_sdk/_legacy_response.py",
+ "warp_agent_sdk/_response.py",
# pydantic.BaseModel.model_dump || pydantic.BaseModel.dict leak memory for some reason.
- "warp_sdk/_compat.py",
+ "warp_agent_sdk/_compat.py",
# Standard library leaks we don't care about.
"/logging/__init__.py",
]
@@ -729,7 +729,7 @@ def test_parse_retry_after_header(
calculated = client._calculate_retry_timeout(remaining_retries, options, headers)
assert calculated == pytest.approx(timeout, 0.5 * 0.875) # pyright: ignore[reportUnknownMemberType]
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter, client: WarpAPI) -> None:
respx_mock.post("/agent/run").mock(side_effect=httpx.TimeoutException("Test timeout error"))
@@ -739,7 +739,7 @@ def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter, clien
assert _get_open_connections(client) == 0
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, client: WarpAPI) -> None:
respx_mock.post("/agent/run").mock(return_value=httpx.Response(500))
@@ -749,7 +749,7 @@ def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, client
assert _get_open_connections(client) == 0
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
@pytest.mark.parametrize("failure_mode", ["status", "exception"])
def test_retries_taken(
@@ -780,7 +780,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
def test_omit_retry_count_header(
self, client: WarpAPI, failures_before_success: int, respx_mock: MockRouter
@@ -805,7 +805,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
def test_overwrite_retry_count_header(
self, client: WarpAPI, failures_before_success: int, respx_mock: MockRouter
@@ -1052,10 +1052,10 @@ def add_leak(leaks: list[tracemalloc.StatisticDiff], diff: tracemalloc.Statistic
# to_raw_response_wrapper leaks through the @functools.wraps() decorator.
#
# removing the decorator fixes the leak for reasons we don't understand.
- "warp_sdk/_legacy_response.py",
- "warp_sdk/_response.py",
+ "warp_agent_sdk/_legacy_response.py",
+ "warp_agent_sdk/_response.py",
# pydantic.BaseModel.model_dump || pydantic.BaseModel.dict leak memory for some reason.
- "warp_sdk/_compat.py",
+ "warp_agent_sdk/_compat.py",
# Standard library leaks we don't care about.
"/logging/__init__.py",
]
@@ -1565,7 +1565,7 @@ async def test_parse_retry_after_header(
calculated = async_client._calculate_retry_timeout(remaining_retries, options, headers)
assert calculated == pytest.approx(timeout, 0.5 * 0.875) # pyright: ignore[reportUnknownMemberType]
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
async def test_retrying_timeout_errors_doesnt_leak(
self, respx_mock: MockRouter, async_client: AsyncWarpAPI
@@ -1577,7 +1577,7 @@ async def test_retrying_timeout_errors_doesnt_leak(
assert _get_open_connections(async_client) == 0
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
async def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, async_client: AsyncWarpAPI) -> None:
respx_mock.post("/agent/run").mock(return_value=httpx.Response(500))
@@ -1587,7 +1587,7 @@ async def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter,
assert _get_open_connections(async_client) == 0
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
@pytest.mark.parametrize("failure_mode", ["status", "exception"])
async def test_retries_taken(
@@ -1618,7 +1618,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
async def test_omit_retry_count_header(
self, async_client: AsyncWarpAPI, failures_before_success: int, respx_mock: MockRouter
@@ -1643,7 +1643,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
- @mock.patch("warp_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
+ @mock.patch("warp_agent_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
@pytest.mark.respx(base_url=base_url)
async def test_overwrite_retry_count_header(
self, async_client: AsyncWarpAPI, failures_before_success: int, respx_mock: MockRouter
diff --git a/tests/test_deepcopy.py b/tests/test_deepcopy.py
index 9536f3f..dc69518 100644
--- a/tests/test_deepcopy.py
+++ b/tests/test_deepcopy.py
@@ -1,4 +1,4 @@
-from warp_sdk._utils import deepcopy_minimal
+from warp_agent_sdk._utils import deepcopy_minimal
def assert_different_identities(obj1: object, obj2: object) -> None:
diff --git a/tests/test_extract_files.py b/tests/test_extract_files.py
index aac84ae..12e42e0 100644
--- a/tests/test_extract_files.py
+++ b/tests/test_extract_files.py
@@ -4,8 +4,8 @@
import pytest
-from warp_sdk._types import FileTypes
-from warp_sdk._utils import extract_files
+from warp_agent_sdk._types import FileTypes
+from warp_agent_sdk._utils import extract_files
def test_removes_files_from_input() -> None:
diff --git a/tests/test_files.py b/tests/test_files.py
index c941c24..9b9c446 100644
--- a/tests/test_files.py
+++ b/tests/test_files.py
@@ -4,7 +4,7 @@
import pytest
from dirty_equals import IsDict, IsList, IsBytes, IsTuple
-from warp_sdk._files import to_httpx_files, async_to_httpx_files
+from warp_agent_sdk._files import to_httpx_files, async_to_httpx_files
readme_path = Path(__file__).parent.parent.joinpath("README.md")
diff --git a/tests/test_models.py b/tests/test_models.py
index 1afb57d..d191086 100644
--- a/tests/test_models.py
+++ b/tests/test_models.py
@@ -7,9 +7,9 @@
import pydantic
from pydantic import Field
-from warp_sdk._utils import PropertyInfo
-from warp_sdk._compat import PYDANTIC_V1, parse_obj, model_dump, model_json
-from warp_sdk._models import DISCRIMINATOR_CACHE, BaseModel, construct_type
+from warp_agent_sdk._utils import PropertyInfo
+from warp_agent_sdk._compat import PYDANTIC_V1, parse_obj, model_dump, model_json
+from warp_agent_sdk._models import DISCRIMINATOR_CACHE, BaseModel, construct_type
class BasicModel(BaseModel):
diff --git a/tests/test_qs.py b/tests/test_qs.py
index 5d69c3d..2d4f80f 100644
--- a/tests/test_qs.py
+++ b/tests/test_qs.py
@@ -4,7 +4,7 @@
import pytest
-from warp_sdk._qs import Querystring, stringify
+from warp_agent_sdk._qs import Querystring, stringify
def test_empty() -> None:
diff --git a/tests/test_required_args.py b/tests/test_required_args.py
index 2c2b33e..ac42a06 100644
--- a/tests/test_required_args.py
+++ b/tests/test_required_args.py
@@ -2,7 +2,7 @@
import pytest
-from warp_sdk._utils import required_args
+from warp_agent_sdk._utils import required_args
def test_too_many_positional_params() -> None:
diff --git a/tests/test_response.py b/tests/test_response.py
index 0b795cf..4c4d81b 100644
--- a/tests/test_response.py
+++ b/tests/test_response.py
@@ -6,8 +6,8 @@
import pytest
import pydantic
-from warp_sdk import WarpAPI, BaseModel, AsyncWarpAPI
-from warp_sdk._response import (
+from warp_agent_sdk import WarpAPI, BaseModel, AsyncWarpAPI
+from warp_agent_sdk._response import (
APIResponse,
BaseAPIResponse,
AsyncAPIResponse,
@@ -15,8 +15,8 @@
AsyncBinaryAPIResponse,
extract_response_type,
)
-from warp_sdk._streaming import Stream
-from warp_sdk._base_client import FinalRequestOptions
+from warp_agent_sdk._streaming import Stream
+from warp_agent_sdk._base_client import FinalRequestOptions
class ConcreteBaseAPIResponse(APIResponse[bytes]): ...
@@ -37,7 +37,7 @@ def test_extract_response_type_direct_classes() -> None:
def test_extract_response_type_direct_class_missing_type_arg() -> None:
with pytest.raises(
RuntimeError,
- match="Expected type to have a type argument at index 0 but it did not",
+ match="Expected type to have a type argument at index 0 but it did not",
):
extract_response_type(AsyncAPIResponse)
@@ -68,7 +68,7 @@ def test_response_parse_mismatched_basemodel(client: WarpAPI) -> None:
with pytest.raises(
TypeError,
- match="Pydantic models must subclass our base model type, e.g. `from warp_sdk import BaseModel`",
+ match="Pydantic models must subclass our base model type, e.g. `from warp_agent_sdk import BaseModel`",
):
response.parse(to=PydanticModel)
@@ -86,7 +86,7 @@ async def test_async_response_parse_mismatched_basemodel(async_client: AsyncWarp
with pytest.raises(
TypeError,
- match="Pydantic models must subclass our base model type, e.g. `from warp_sdk import BaseModel`",
+ match="Pydantic models must subclass our base model type, e.g. `from warp_agent_sdk import BaseModel`",
):
await response.parse(to=PydanticModel)
diff --git a/tests/test_streaming.py b/tests/test_streaming.py
index 2de13dc..2e7b1e6 100644
--- a/tests/test_streaming.py
+++ b/tests/test_streaming.py
@@ -5,8 +5,8 @@
import httpx
import pytest
-from warp_sdk import WarpAPI, AsyncWarpAPI
-from warp_sdk._streaming import Stream, AsyncStream, ServerSentEvent
+from warp_agent_sdk import WarpAPI, AsyncWarpAPI
+from warp_agent_sdk._streaming import Stream, AsyncStream, ServerSentEvent
@pytest.mark.asyncio
diff --git a/tests/test_transform.py b/tests/test_transform.py
index d3d5803..a40b00b 100644
--- a/tests/test_transform.py
+++ b/tests/test_transform.py
@@ -8,15 +8,15 @@
import pytest
-from warp_sdk._types import Base64FileInput, omit, not_given
-from warp_sdk._utils import (
+from warp_agent_sdk._types import Base64FileInput, omit, not_given
+from warp_agent_sdk._utils import (
PropertyInfo,
transform as _transform,
parse_datetime,
async_transform as _async_transform,
)
-from warp_sdk._compat import PYDANTIC_V1
-from warp_sdk._models import BaseModel
+from warp_agent_sdk._compat import PYDANTIC_V1
+from warp_agent_sdk._models import BaseModel
_T = TypeVar("_T")
diff --git a/tests/test_utils/test_datetime_parse.py b/tests/test_utils/test_datetime_parse.py
index d9770a7..0a959d0 100644
--- a/tests/test_utils/test_datetime_parse.py
+++ b/tests/test_utils/test_datetime_parse.py
@@ -8,7 +8,7 @@
import pytest
-from warp_sdk._utils import parse_date, parse_datetime
+from warp_agent_sdk._utils import parse_date, parse_datetime
def create_tz(minutes: int) -> timezone:
diff --git a/tests/test_utils/test_proxy.py b/tests/test_utils/test_proxy.py
index e529bc4..bc3bfdc 100644
--- a/tests/test_utils/test_proxy.py
+++ b/tests/test_utils/test_proxy.py
@@ -2,7 +2,7 @@
from typing import Any
from typing_extensions import override
-from warp_sdk._utils import LazyProxy
+from warp_agent_sdk._utils import LazyProxy
class RecursiveLazyProxy(LazyProxy[Any]):
diff --git a/tests/test_utils/test_typing.py b/tests/test_utils/test_typing.py
index bab35f4..1fb1a71 100644
--- a/tests/test_utils/test_typing.py
+++ b/tests/test_utils/test_typing.py
@@ -2,7 +2,7 @@
from typing import Generic, TypeVar, cast
-from warp_sdk._utils import extract_type_var_from_base
+from warp_agent_sdk._utils import extract_type_var_from_base
_T = TypeVar("_T")
_T2 = TypeVar("_T2")
diff --git a/tests/utils.py b/tests/utils.py
index 3d4c52f..5dd2c41 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -8,8 +8,8 @@
from datetime import date, datetime
from typing_extensions import Literal, get_args, get_origin, assert_type
-from warp_sdk._types import Omit, NoneType
-from warp_sdk._utils import (
+from warp_agent_sdk._types import Omit, NoneType
+from warp_agent_sdk._utils import (
is_dict,
is_list,
is_list_type,
@@ -19,8 +19,8 @@
is_annotated_type,
is_type_alias_type,
)
-from warp_sdk._compat import PYDANTIC_V1, field_outer_type, get_model_fields
-from warp_sdk._models import BaseModel
+from warp_agent_sdk._compat import PYDANTIC_V1, field_outer_type, get_model_fields
+from warp_agent_sdk._models import BaseModel
BaseModelT = TypeVar("BaseModelT", bound=BaseModel)
diff --git a/uv.lock b/uv.lock
index 6f8c24a..adff301 100644
--- a/uv.lock
+++ b/uv.lock
@@ -2,17 +2,17 @@ version = 1
revision = 3
requires-python = ">=3.9"
resolution-markers = [
- "python_full_version >= '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version < '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version < '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version < '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
+ "python_full_version >= '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version < '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version < '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version < '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
]
conflicts = [[
- { package = "warp-sdk", group = "pydantic-v1" },
- { package = "warp-sdk", group = "pydantic-v2" },
+ { package = "warp-agent-sdk", group = "pydantic-v1" },
+ { package = "warp-agent-sdk", group = "pydantic-v2" },
]]
[[package]]
@@ -31,7 +31,7 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "aiohappyeyeballs" },
{ name = "aiosignal" },
- { name = "async-timeout", marker = "python_full_version < '3.11' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "async-timeout", marker = "python_full_version < '3.11' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
{ name = "attrs" },
{ name = "frozenlist" },
{ name = "multidict" },
@@ -167,7 +167,7 @@ version = "1.4.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "frozenlist" },
- { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" }
wheels = [
@@ -188,9 +188,9 @@ name = "anyio"
version = "4.12.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "exceptiongroup", marker = "python_full_version < '3.11' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.11' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
{ name = "idna" },
- { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz", hash = "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", size = 228266, upload-time = "2025-11-28T23:37:38.911Z" }
wheels = [
@@ -265,7 +265,7 @@ name = "exceptiongroup"
version = "1.3.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
wheels = [
@@ -506,10 +506,10 @@ name = "iniconfig"
version = "2.3.0"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
+ "python_full_version >= '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
]
sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" }
wheels = [
@@ -524,7 +524,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "mdurl", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "mdurl", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" }
wheels = [
@@ -536,13 +536,13 @@ name = "markdown-it-py"
version = "4.0.0"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
+ "python_full_version >= '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
]
dependencies = [
- { name = "mdurl", marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "mdurl", marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" }
wheels = [
@@ -563,7 +563,7 @@ name = "multidict"
version = "6.7.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz", hash = "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", size = 101834, upload-time = "2025-10-06T14:52:30.657Z" }
wheels = [
@@ -721,7 +721,7 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "mypy-extensions" },
{ name = "pathspec" },
- { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/1e/e3/034322d5a779685218ed69286c32faa505247f1f096251ef66c8fd203b08/mypy-1.17.0.tar.gz", hash = "sha256:e5d7ccc08ba089c06e2f5629c660388ef1fee708444f1dee0b9203fa031dee03", size = 3352114, upload-time = "2025-07-14T20:34:30.181Z" }
@@ -942,7 +942,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "typing-extensions", marker = "extra == 'group-8-warp-sdk-pydantic-v1'" },
+ { name = "typing-extensions", marker = "extra == 'group-14-warp-agent-sdk-pydantic-v1'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ae/8d/7b346ed940c3e0f9eee7db9be37915a6dac0d9535d736e2ca47a81a066f3/pydantic-1.10.24.tar.gz", hash = "sha256:7e6d1af1bd3d2312079f28c9baf2aafb4a452a06b50717526e5ac562e37baa53", size = 357314, upload-time = "2025-09-25T01:36:33.065Z" }
wheels = [
@@ -989,17 +989,17 @@ name = "pydantic"
version = "2.12.5"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version < '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version < '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
+ "python_full_version >= '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version < '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version < '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
]
dependencies = [
- { name = "annotated-types", marker = "extra == 'group-8-warp-sdk-pydantic-v2' or extra != 'group-8-warp-sdk-pydantic-v1'" },
- { name = "pydantic-core", marker = "extra == 'group-8-warp-sdk-pydantic-v2' or extra != 'group-8-warp-sdk-pydantic-v1'" },
- { name = "typing-extensions", marker = "extra == 'group-8-warp-sdk-pydantic-v2' or extra != 'group-8-warp-sdk-pydantic-v1'" },
- { name = "typing-inspection", marker = "extra == 'group-8-warp-sdk-pydantic-v2' or extra != 'group-8-warp-sdk-pydantic-v1'" },
+ { name = "annotated-types", marker = "extra == 'group-14-warp-agent-sdk-pydantic-v2' or extra != 'group-14-warp-agent-sdk-pydantic-v1'" },
+ { name = "pydantic-core", marker = "extra == 'group-14-warp-agent-sdk-pydantic-v2' or extra != 'group-14-warp-agent-sdk-pydantic-v1'" },
+ { name = "typing-extensions", marker = "extra == 'group-14-warp-agent-sdk-pydantic-v2' or extra != 'group-14-warp-agent-sdk-pydantic-v1'" },
+ { name = "typing-inspection", marker = "extra == 'group-14-warp-agent-sdk-pydantic-v2' or extra != 'group-14-warp-agent-sdk-pydantic-v1'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" }
wheels = [
@@ -1011,7 +1011,7 @@ name = "pydantic-core"
version = "2.41.5"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "typing-extensions", marker = "extra == 'group-8-warp-sdk-pydantic-v2' or extra != 'group-8-warp-sdk-pydantic-v1'" },
+ { name = "typing-extensions", marker = "extra == 'group-14-warp-agent-sdk-pydantic-v2' or extra != 'group-14-warp-agent-sdk-pydantic-v1'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" }
wheels = [
@@ -1167,13 +1167,13 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "colorama", marker = "(python_full_version < '3.10' and sys_platform == 'win32') or (python_full_version >= '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2') or (sys_platform != 'win32' and extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "exceptiongroup", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "packaging", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pluggy", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pygments", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "tomli", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "colorama", marker = "(python_full_version < '3.10' and sys_platform == 'win32') or (python_full_version >= '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2') or (sys_platform != 'win32' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "packaging", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pluggy", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pygments", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "tomli", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" }
wheels = [
@@ -1185,19 +1185,19 @@ name = "pytest"
version = "9.0.1"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
+ "python_full_version >= '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
]
dependencies = [
- { name = "colorama", marker = "(python_full_version >= '3.10' and sys_platform == 'win32') or (python_full_version < '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2') or (sys_platform != 'win32' and extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "exceptiongroup", marker = "python_full_version == '3.10.*' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "packaging", marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pluggy", marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pygments", marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "tomli", marker = "python_full_version == '3.10.*' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "colorama", marker = "(python_full_version >= '3.10' and sys_platform == 'win32') or (python_full_version < '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2') or (sys_platform != 'win32' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "exceptiongroup", marker = "python_full_version == '3.10.*' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "packaging", marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pluggy", marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pygments", marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "tomli", marker = "python_full_version == '3.10.*' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/07/56/f013048ac4bc4c1d9be45afd4ab209ea62822fb1598f40687e6bf45dcea4/pytest-9.0.1.tar.gz", hash = "sha256:3e9c069ea73583e255c3b21cf46b8d3c56f6e3a1a8f6da94ccb0fcf57b9d73c8", size = 1564125, upload-time = "2025-11-12T13:05:09.333Z" }
wheels = [
@@ -1212,9 +1212,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "backports-asyncio-runner", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "typing-extensions", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "backports-asyncio-runner", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/42/86/9e3c5f48f7b7b638b216e4b9e645f54d199d7abbbab7a64a13b4e12ba10f/pytest_asyncio-1.2.0.tar.gz", hash = "sha256:c609a64a2a8768462d0c99811ddb8bd2583c33fd33cf7f21af1c142e824ffb57", size = 50119, upload-time = "2025-09-12T07:33:53.816Z" }
wheels = [
@@ -1226,15 +1226,15 @@ name = "pytest-asyncio"
version = "1.3.0"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
+ "python_full_version >= '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
]
dependencies = [
- { name = "backports-asyncio-runner", marker = "python_full_version == '3.10.*' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pytest", version = "9.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "typing-extensions", marker = "(python_full_version >= '3.10' and python_full_version < '3.13') or (python_full_version < '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2') or (python_full_version >= '3.13' and extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "backports-asyncio-runner", marker = "python_full_version == '3.10.*' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pytest", version = "9.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "typing-extensions", marker = "(python_full_version >= '3.10' and python_full_version < '3.13') or (python_full_version < '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2') or (python_full_version >= '3.13' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/90/2c/8af215c0f776415f3590cac4f9086ccefd6fd463befeae41cd4d3f193e5a/pytest_asyncio-1.3.0.tar.gz", hash = "sha256:d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5", size = 50087, upload-time = "2025-11-10T16:07:47.256Z" }
wheels = [
@@ -1247,8 +1247,8 @@ version = "3.8.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "execnet" },
- { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pytest", version = "9.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pytest", version = "9.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/78/b4/439b179d1ff526791eb921115fca8e44e596a13efeda518b9d845a619450/pytest_xdist-3.8.0.tar.gz", hash = "sha256:7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1", size = 88069, upload-time = "2025-07-01T13:30:59.346Z" }
wheels = [
@@ -1260,7 +1260,7 @@ name = "python-dateutil"
version = "2.9.0.post0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "six", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "six", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
wheels = [
@@ -1284,8 +1284,8 @@ name = "rich"
version = "14.2.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "markdown-it-py", version = "3.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "markdown-it-py", version = "4.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "markdown-it-py", version = "3.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "markdown-it-py", version = "4.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
{ name = "pygments" },
]
sdist = { url = "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", size = 219990, upload-time = "2025-10-09T14:16:53.064Z" }
@@ -1345,7 +1345,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "python-dateutil", marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "python-dateutil", marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f8/a4/1b5fdd165f61b67f445fac2a7feb0c655118edef429cd09ff5a8067f7f1d/time_machine-2.19.0.tar.gz", hash = "sha256:7c5065a8b3f2bbb449422c66ef71d114d3f909c276a6469642ecfffb6a0fcd29", size = 14576, upload-time = "2025-08-19T17:22:08.402Z" }
wheels = [
@@ -1444,10 +1444,10 @@ name = "time-machine"
version = "3.1.0"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra == 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
- "python_full_version >= '3.10' and extra != 'group-8-warp-sdk-pydantic-v1' and extra != 'group-8-warp-sdk-pydantic-v2'",
+ "python_full_version >= '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and python_full_version < '3.14' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
+ "python_full_version >= '3.10' and extra != 'group-14-warp-agent-sdk-pydantic-v1' and extra != 'group-14-warp-agent-sdk-pydantic-v2'",
]
sdist = { url = "https://files.pythonhosted.org/packages/17/bd/a1bb03eb39ce35c966f0dde6559df7348ca0580f7cd3a956fdd7ed0b5080/time_machine-3.1.0.tar.gz", hash = "sha256:90831c2cf9e18e4199abb85fafa0c0ca0c6c15d0894a03ef68d5005a796c4f27", size = 14436, upload-time = "2025-11-21T13:56:33.802Z" }
wheels = [
@@ -1593,7 +1593,7 @@ name = "typing-inspection"
version = "0.4.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "typing-extensions", marker = "extra == 'group-8-warp-sdk-pydantic-v2' or extra != 'group-8-warp-sdk-pydantic-v1'" },
+ { name = "typing-extensions", marker = "extra == 'group-14-warp-agent-sdk-pydantic-v2' or extra != 'group-14-warp-agent-sdk-pydantic-v1'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" }
wheels = [
@@ -1601,15 +1601,15 @@ wheels = [
]
[[package]]
-name = "warp-sdk"
-version = "0.0.1"
+name = "warp-agent-sdk"
+version = "0.1.0"
source = { editable = "." }
dependencies = [
{ name = "anyio" },
{ name = "distro" },
{ name = "httpx" },
- { name = "pydantic", version = "1.10.24", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-8-warp-sdk-pydantic-v1'" },
- { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-8-warp-sdk-pydantic-v2' or extra != 'group-8-warp-sdk-pydantic-v1'" },
+ { name = "pydantic", version = "1.10.24", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-14-warp-agent-sdk-pydantic-v1'" },
+ { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-14-warp-agent-sdk-pydantic-v2' or extra != 'group-14-warp-agent-sdk-pydantic-v1'" },
{ name = "sniffio" },
{ name = "typing-extensions" },
]
@@ -1626,16 +1626,16 @@ dev = [
{ name = "importlib-metadata" },
{ name = "mypy" },
{ name = "pyright" },
- { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pytest", version = "9.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pytest-asyncio", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "pytest-asyncio", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pytest", version = "9.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pytest-asyncio", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "pytest-asyncio", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
{ name = "pytest-xdist" },
{ name = "respx" },
{ name = "rich" },
{ name = "ruff" },
- { name = "time-machine", version = "2.19.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
- { name = "time-machine", version = "3.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-8-warp-sdk-pydantic-v1' and extra == 'group-8-warp-sdk-pydantic-v2')" },
+ { name = "time-machine", version = "2.19.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
+ { name = "time-machine", version = "3.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' or (extra == 'group-14-warp-agent-sdk-pydantic-v1' and extra == 'group-14-warp-agent-sdk-pydantic-v2')" },
]
pydantic-v1 = [
{ name = "pydantic", version = "1.10.24", source = { registry = "https://pypi.org/simple" } },