relaxai 0.5.2__tar.gz → 0.5.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of relaxai might be problematic. Click here for more details.

Files changed (99) hide show
  1. relaxai-0.5.4/.release-please-manifest.json +3 -0
  2. {relaxai-0.5.2 → relaxai-0.5.4}/CHANGELOG.md +21 -0
  3. {relaxai-0.5.2 → relaxai-0.5.4}/PKG-INFO +2 -2
  4. {relaxai-0.5.2 → relaxai-0.5.4}/pyproject.toml +2 -2
  5. {relaxai-0.5.2 → relaxai-0.5.4}/requirements-dev.lock +1 -1
  6. {relaxai-0.5.2 → relaxai-0.5.4}/requirements.lock +1 -1
  7. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_streaming.py +4 -6
  8. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_version.py +1 -1
  9. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/resources/deep_research.py +6 -1
  10. relaxai-0.5.2/.release-please-manifest.json +0 -3
  11. {relaxai-0.5.2 → relaxai-0.5.4}/.gitignore +0 -0
  12. {relaxai-0.5.2 → relaxai-0.5.4}/CONTRIBUTING.md +0 -0
  13. {relaxai-0.5.2 → relaxai-0.5.4}/LICENSE +0 -0
  14. {relaxai-0.5.2 → relaxai-0.5.4}/README.md +0 -0
  15. {relaxai-0.5.2 → relaxai-0.5.4}/SECURITY.md +0 -0
  16. {relaxai-0.5.2 → relaxai-0.5.4}/api.md +0 -0
  17. {relaxai-0.5.2 → relaxai-0.5.4}/bin/check-release-environment +0 -0
  18. {relaxai-0.5.2 → relaxai-0.5.4}/bin/publish-pypi +0 -0
  19. {relaxai-0.5.2 → relaxai-0.5.4}/examples/.keep +0 -0
  20. {relaxai-0.5.2 → relaxai-0.5.4}/noxfile.py +0 -0
  21. {relaxai-0.5.2 → relaxai-0.5.4}/release-please-config.json +0 -0
  22. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/__init__.py +0 -0
  23. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_base_client.py +0 -0
  24. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_client.py +0 -0
  25. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_compat.py +0 -0
  26. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_constants.py +0 -0
  27. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_exceptions.py +0 -0
  28. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_files.py +0 -0
  29. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_models.py +0 -0
  30. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_qs.py +0 -0
  31. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_resource.py +0 -0
  32. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_response.py +0 -0
  33. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_types.py +0 -0
  34. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/__init__.py +0 -0
  35. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_compat.py +0 -0
  36. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_datetime_parse.py +0 -0
  37. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_logs.py +0 -0
  38. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_proxy.py +0 -0
  39. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_reflection.py +0 -0
  40. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_resources_proxy.py +0 -0
  41. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_streams.py +0 -0
  42. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_sync.py +0 -0
  43. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_transform.py +0 -0
  44. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_typing.py +0 -0
  45. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/_utils/_utils.py +0 -0
  46. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/lib/.keep +0 -0
  47. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/py.typed +0 -0
  48. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/resources/__init__.py +0 -0
  49. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/resources/chat.py +0 -0
  50. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/resources/embeddings.py +0 -0
  51. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/resources/models.py +0 -0
  52. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/resources/tools.py +0 -0
  53. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/__init__.py +0 -0
  54. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/chat_completion_message.py +0 -0
  55. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/chat_completion_message_param.py +0 -0
  56. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/chat_completion_response.py +0 -0
  57. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/chat_create_completion_params.py +0 -0
  58. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/content_filter_results.py +0 -0
  59. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/deep_research_create_params.py +0 -0
  60. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/deepresearch_response.py +0 -0
  61. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/embedding_create_embedding_params.py +0 -0
  62. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/embedding_response.py +0 -0
  63. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/function_call.py +0 -0
  64. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/function_call_param.py +0 -0
  65. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/function_definition_param.py +0 -0
  66. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/health_response.py +0 -0
  67. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/model.py +0 -0
  68. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/model_list.py +0 -0
  69. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/shared/__init__.py +0 -0
  70. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/shared/openai_completion_tokens_details.py +0 -0
  71. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/shared/openai_prompt_tokens_details.py +0 -0
  72. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/shared/openai_usage.py +0 -0
  73. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/stream_options_param.py +0 -0
  74. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/tool_execute_code_params.py +0 -0
  75. {relaxai-0.5.2 → relaxai-0.5.4}/src/relaxai/types/tool_response.py +0 -0
  76. {relaxai-0.5.2 → relaxai-0.5.4}/tests/__init__.py +0 -0
  77. {relaxai-0.5.2 → relaxai-0.5.4}/tests/api_resources/__init__.py +0 -0
  78. {relaxai-0.5.2 → relaxai-0.5.4}/tests/api_resources/test_chat.py +0 -0
  79. {relaxai-0.5.2 → relaxai-0.5.4}/tests/api_resources/test_client.py +0 -0
  80. {relaxai-0.5.2 → relaxai-0.5.4}/tests/api_resources/test_deep_research.py +0 -0
  81. {relaxai-0.5.2 → relaxai-0.5.4}/tests/api_resources/test_embeddings.py +0 -0
  82. {relaxai-0.5.2 → relaxai-0.5.4}/tests/api_resources/test_models.py +0 -0
  83. {relaxai-0.5.2 → relaxai-0.5.4}/tests/api_resources/test_tools.py +0 -0
  84. {relaxai-0.5.2 → relaxai-0.5.4}/tests/conftest.py +0 -0
  85. {relaxai-0.5.2 → relaxai-0.5.4}/tests/sample_file.txt +0 -0
  86. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_client.py +0 -0
  87. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_deepcopy.py +0 -0
  88. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_extract_files.py +0 -0
  89. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_files.py +0 -0
  90. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_models.py +0 -0
  91. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_qs.py +0 -0
  92. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_required_args.py +0 -0
  93. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_response.py +0 -0
  94. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_streaming.py +0 -0
  95. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_transform.py +0 -0
  96. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_utils/test_datetime_parse.py +0 -0
  97. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_utils/test_proxy.py +0 -0
  98. {relaxai-0.5.2 → relaxai-0.5.4}/tests/test_utils/test_typing.py +0 -0
  99. {relaxai-0.5.2 → relaxai-0.5.4}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.5.4"
3
+ }
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.4 (2025-10-30)
4
+
5
+ Full Changelog: [v0.5.3...v0.5.4](https://github.com/relax-ai/python-sdk/compare/v0.5.3...v0.5.4)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **client:** close streams without requiring full consumption ([f1585d4](https://github.com/relax-ai/python-sdk/commit/f1585d485b103ca4729480ef8ff70869dc2023fa))
10
+
11
+
12
+ ### Chores
13
+
14
+ * bump `httpx-aiohttp` version to 0.1.9 ([aa4e07a](https://github.com/relax-ai/python-sdk/commit/aa4e07a80e794bd468441a9a74b49db95fa6aa48))
15
+
16
+ ## 0.5.3 (2025-10-15)
17
+
18
+ Full Changelog: [v0.5.2...v0.5.3](https://github.com/relax-ai/python-sdk/compare/v0.5.2...v0.5.3)
19
+
20
+ ### Bug Fixes
21
+
22
+ * **api:** add timeout to deepresearch ([3da40a5](https://github.com/relax-ai/python-sdk/commit/3da40a5123bdd6608b0510a3d0e94e5356b2e5fa))
23
+
3
24
  ## 0.5.2 (2025-10-15)
4
25
 
5
26
  Full Changelog: [v0.5.1...v0.5.2](https://github.com/relax-ai/python-sdk/compare/v0.5.1...v0.5.2)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: relaxai
3
- Version: 0.5.2
3
+ Version: 0.5.4
4
4
  Summary: The official Python library for the relaxai API
5
5
  Project-URL: Homepage, https://github.com/relax-ai/python-sdk
6
6
  Project-URL: Repository, https://github.com/relax-ai/python-sdk
@@ -30,7 +30,7 @@ Requires-Dist: sniffio
30
30
  Requires-Dist: typing-extensions<5,>=4.10
31
31
  Provides-Extra: aiohttp
32
32
  Requires-Dist: aiohttp; extra == 'aiohttp'
33
- Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
33
+ Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
34
34
  Description-Content-Type: text/markdown
35
35
 
36
36
  # Relaxai Python API library
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "relaxai"
3
- version = "0.5.2"
3
+ version = "0.5.4"
4
4
  description = "The official Python library for the relaxai API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -39,7 +39,7 @@ Homepage = "https://github.com/relax-ai/python-sdk"
39
39
  Repository = "https://github.com/relax-ai/python-sdk"
40
40
 
41
41
  [project.optional-dependencies]
42
- aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.8"]
42
+ aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
43
43
 
44
44
  [tool.rye]
45
45
  managed = true
@@ -56,7 +56,7 @@ httpx==0.28.1
56
56
  # via httpx-aiohttp
57
57
  # via relaxai
58
58
  # via respx
59
- httpx-aiohttp==0.1.8
59
+ httpx-aiohttp==0.1.9
60
60
  # via relaxai
61
61
  idna==3.4
62
62
  # via anyio
@@ -43,7 +43,7 @@ httpcore==1.0.9
43
43
  httpx==0.28.1
44
44
  # via httpx-aiohttp
45
45
  # via relaxai
46
- httpx-aiohttp==0.1.8
46
+ httpx-aiohttp==0.1.9
47
47
  # via relaxai
48
48
  idna==3.4
49
49
  # via anyio
@@ -57,9 +57,8 @@ class Stream(Generic[_T]):
57
57
  for sse in iterator:
58
58
  yield process_data(data=sse.json(), cast_to=cast_to, response=response)
59
59
 
60
- # Ensure the entire stream is consumed
61
- for _sse in iterator:
62
- ...
60
+ # As we might not fully consume the response stream, we need to close it explicitly
61
+ response.close()
63
62
 
64
63
  def __enter__(self) -> Self:
65
64
  return self
@@ -121,9 +120,8 @@ class AsyncStream(Generic[_T]):
121
120
  async for sse in iterator:
122
121
  yield process_data(data=sse.json(), cast_to=cast_to, response=response)
123
122
 
124
- # Ensure the entire stream is consumed
125
- async for _sse in iterator:
126
- ...
123
+ # As we might not fully consume the response stream, we need to close it explicitly
124
+ await response.aclose()
127
125
 
128
126
  async def __aenter__(self) -> Self:
129
127
  return self
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "relaxai"
4
- __version__ = "0.5.2" # x-release-please-version
4
+ __version__ = "0.5.4" # x-release-please-version
@@ -8,7 +8,7 @@ import httpx
8
8
 
9
9
  from ..types import deep_research_create_params
10
10
  from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
11
- from .._utils import maybe_transform, async_maybe_transform
11
+ from .._utils import is_given, maybe_transform, async_maybe_transform
12
12
  from .._compat import cached_property
13
13
  from .._resource import SyncAPIResource, AsyncAPIResource
14
14
  from .._response import (
@@ -17,6 +17,7 @@ from .._response import (
17
17
  async_to_raw_response_wrapper,
18
18
  async_to_streamed_response_wrapper,
19
19
  )
20
+ from .._constants import DEFAULT_TIMEOUT
20
21
  from .._base_client import make_request_options
21
22
  from ..types.stream_options_param import StreamOptionsParam
22
23
  from ..types.deepresearch_response import DeepresearchResponse
@@ -78,6 +79,8 @@ class DeepResearchResource(SyncAPIResource):
78
79
 
79
80
  timeout: Override the client-level default timeout for this request, in seconds
80
81
  """
82
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
83
+ timeout = 600
81
84
  return self._post(
82
85
  "/v1/deep-research",
83
86
  body=maybe_transform(
@@ -156,6 +159,8 @@ class AsyncDeepResearchResource(AsyncAPIResource):
156
159
 
157
160
  timeout: Override the client-level default timeout for this request, in seconds
158
161
  """
162
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
163
+ timeout = 600
159
164
  return await self._post(
160
165
  "/v1/deep-research",
161
166
  body=await async_maybe_transform(
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.5.2"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes