profound 0.10.0__tar.gz → 0.15.1__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.
Files changed (110) hide show
  1. profound-0.15.1/.release-please-manifest.json +3 -0
  2. {profound-0.10.0 → profound-0.15.1}/CHANGELOG.md +92 -0
  3. {profound-0.10.0 → profound-0.15.1}/LICENSE +1 -1
  4. {profound-0.10.0 → profound-0.15.1}/PKG-INFO +4 -4
  5. {profound-0.10.0 → profound-0.15.1}/README.md +2 -3
  6. {profound-0.10.0 → profound-0.15.1}/api.md +2 -0
  7. {profound-0.10.0 → profound-0.15.1}/pyproject.toml +11 -8
  8. {profound-0.10.0 → profound-0.15.1}/requirements-dev.lock +62 -50
  9. {profound-0.10.0 → profound-0.15.1}/requirements.lock +20 -19
  10. {profound-0.10.0 → profound-0.15.1}/src/profound/_base_client.py +8 -2
  11. {profound-0.10.0 → profound-0.15.1}/src/profound/_client.py +179 -46
  12. {profound-0.10.0 → profound-0.15.1}/src/profound/_streaming.py +12 -10
  13. {profound-0.10.0 → profound-0.15.1}/src/profound/_types.py +3 -2
  14. {profound-0.10.0 → profound-0.15.1}/src/profound/_version.py +1 -1
  15. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/logs/raw.py +8 -0
  16. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/organizations/organizations.py +51 -0
  17. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/reports.py +62 -6
  18. {profound-0.10.0 → profound-0.15.1}/src/profound/types/__init__.py +1 -0
  19. {profound-0.10.0 → profound-0.15.1}/src/profound/types/logs/raw_bots_params.py +134 -2
  20. {profound-0.10.0 → profound-0.15.1}/src/profound/types/logs/raw_bots_response.py +2 -0
  21. {profound-0.10.0 → profound-0.15.1}/src/profound/types/logs/raw_logs_params.py +22 -0
  22. {profound-0.10.0 → profound-0.15.1}/src/profound/types/logs/raw_logs_response.py +2 -0
  23. profound-0.15.1/src/profound/types/organization_list_assets_response.py +29 -0
  24. {profound-0.10.0 → profound-0.15.1}/src/profound/types/prompt_answers_params.py +26 -1
  25. {profound-0.10.0 → profound-0.15.1}/src/profound/types/prompt_answers_response.py +20 -1
  26. {profound-0.10.0 → profound-0.15.1}/src/profound/types/report_citations_params.py +34 -1
  27. {profound-0.10.0 → profound-0.15.1}/src/profound/types/report_info.py +2 -0
  28. {profound-0.10.0 → profound-0.15.1}/src/profound/types/report_response.py +2 -0
  29. {profound-0.10.0 → profound-0.15.1}/src/profound/types/report_result.py +2 -0
  30. {profound-0.10.0 → profound-0.15.1}/src/profound/types/report_sentiment_params.py +29 -1
  31. {profound-0.10.0 → profound-0.15.1}/src/profound/types/report_visibility_params.py +15 -1
  32. {profound-0.10.0 → profound-0.15.1}/src/profound/types/shared/pagination.py +2 -0
  33. {profound-0.10.0 → profound-0.15.1}/src/profound/types/shared_params/pagination.py +2 -0
  34. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/logs/test_raw.py +4 -4
  35. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/test_organizations.py +62 -1
  36. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/test_prompts.py +6 -0
  37. profound-0.10.0/.release-please-manifest.json +0 -3
  38. {profound-0.10.0 → profound-0.15.1}/.gitignore +0 -0
  39. {profound-0.10.0 → profound-0.15.1}/CONTRIBUTING.md +0 -0
  40. {profound-0.10.0 → profound-0.15.1}/SECURITY.md +0 -0
  41. {profound-0.10.0 → profound-0.15.1}/bin/check-release-environment +0 -0
  42. {profound-0.10.0 → profound-0.15.1}/bin/publish-pypi +0 -0
  43. {profound-0.10.0 → profound-0.15.1}/examples/.keep +0 -0
  44. {profound-0.10.0 → profound-0.15.1}/noxfile.py +0 -0
  45. {profound-0.10.0 → profound-0.15.1}/release-please-config.json +0 -0
  46. {profound-0.10.0 → profound-0.15.1}/src/profound/__init__.py +0 -0
  47. {profound-0.10.0 → profound-0.15.1}/src/profound/_compat.py +0 -0
  48. {profound-0.10.0 → profound-0.15.1}/src/profound/_constants.py +0 -0
  49. {profound-0.10.0 → profound-0.15.1}/src/profound/_exceptions.py +0 -0
  50. {profound-0.10.0 → profound-0.15.1}/src/profound/_files.py +0 -0
  51. {profound-0.10.0 → profound-0.15.1}/src/profound/_models.py +0 -0
  52. {profound-0.10.0 → profound-0.15.1}/src/profound/_qs.py +0 -0
  53. {profound-0.10.0 → profound-0.15.1}/src/profound/_resource.py +0 -0
  54. {profound-0.10.0 → profound-0.15.1}/src/profound/_response.py +0 -0
  55. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/__init__.py +0 -0
  56. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_compat.py +0 -0
  57. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_datetime_parse.py +0 -0
  58. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_logs.py +0 -0
  59. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_proxy.py +0 -0
  60. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_reflection.py +0 -0
  61. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_resources_proxy.py +0 -0
  62. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_streams.py +0 -0
  63. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_sync.py +0 -0
  64. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_transform.py +0 -0
  65. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_typing.py +0 -0
  66. {profound-0.10.0 → profound-0.15.1}/src/profound/_utils/_utils.py +0 -0
  67. {profound-0.10.0 → profound-0.15.1}/src/profound/lib/.keep +0 -0
  68. {profound-0.10.0 → profound-0.15.1}/src/profound/py.typed +0 -0
  69. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/__init__.py +0 -0
  70. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/logs/__init__.py +0 -0
  71. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/logs/logs.py +0 -0
  72. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/organizations/__init__.py +0 -0
  73. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/organizations/categories.py +0 -0
  74. {profound-0.10.0 → profound-0.15.1}/src/profound/resources/prompts.py +0 -0
  75. {profound-0.10.0 → profound-0.15.1}/src/profound/types/logs/__init__.py +0 -0
  76. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organization_domains_response.py +0 -0
  77. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organization_models_response.py +0 -0
  78. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organization_regions_response.py +0 -0
  79. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organizations/__init__.py +0 -0
  80. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organizations/category_assets_response.py +0 -0
  81. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organizations/category_list_response.py +0 -0
  82. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organizations/category_prompts_response.py +0 -0
  83. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organizations/category_tags_response.py +0 -0
  84. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organizations/category_topics_response.py +0 -0
  85. {profound-0.10.0 → profound-0.15.1}/src/profound/types/organizations/org_item.py +0 -0
  86. {profound-0.10.0 → profound-0.15.1}/src/profound/types/report_citations_response.py +0 -0
  87. {profound-0.10.0 → profound-0.15.1}/src/profound/types/shared/__init__.py +0 -0
  88. {profound-0.10.0 → profound-0.15.1}/src/profound/types/shared_params/__init__.py +0 -0
  89. {profound-0.10.0 → profound-0.15.1}/tests/__init__.py +0 -0
  90. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/__init__.py +0 -0
  91. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/logs/__init__.py +0 -0
  92. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/organizations/__init__.py +0 -0
  93. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/organizations/test_categories.py +0 -0
  94. {profound-0.10.0 → profound-0.15.1}/tests/api_resources/test_reports.py +0 -0
  95. {profound-0.10.0 → profound-0.15.1}/tests/conftest.py +0 -0
  96. {profound-0.10.0 → profound-0.15.1}/tests/sample_file.txt +0 -0
  97. {profound-0.10.0 → profound-0.15.1}/tests/test_client.py +0 -0
  98. {profound-0.10.0 → profound-0.15.1}/tests/test_deepcopy.py +0 -0
  99. {profound-0.10.0 → profound-0.15.1}/tests/test_extract_files.py +0 -0
  100. {profound-0.10.0 → profound-0.15.1}/tests/test_files.py +0 -0
  101. {profound-0.10.0 → profound-0.15.1}/tests/test_models.py +0 -0
  102. {profound-0.10.0 → profound-0.15.1}/tests/test_qs.py +0 -0
  103. {profound-0.10.0 → profound-0.15.1}/tests/test_required_args.py +0 -0
  104. {profound-0.10.0 → profound-0.15.1}/tests/test_response.py +0 -0
  105. {profound-0.10.0 → profound-0.15.1}/tests/test_streaming.py +0 -0
  106. {profound-0.10.0 → profound-0.15.1}/tests/test_transform.py +0 -0
  107. {profound-0.10.0 → profound-0.15.1}/tests/test_utils/test_datetime_parse.py +0 -0
  108. {profound-0.10.0 → profound-0.15.1}/tests/test_utils/test_proxy.py +0 -0
  109. {profound-0.10.0 → profound-0.15.1}/tests/test_utils/test_typing.py +0 -0
  110. {profound-0.10.0 → profound-0.15.1}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.15.1"
3
+ }
@@ -1,5 +1,97 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.15.1 (2026-01-06)
4
+
5
+ Full Changelog: [v0.15.0...v0.15.1](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.15.0...v0.15.1)
6
+
7
+ ### Chores
8
+
9
+ * **internal:** codegen related update ([4638fed](https://github.com/cooper-square-technologies/profound-python-sdk/commit/4638fed067725b504f535ff22bb7e77c114756bc))
10
+
11
+ ## 0.15.0 (2025-12-30)
12
+
13
+ Full Changelog: [v0.14.0...v0.15.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.14.0...v0.15.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([f8e641f](https://github.com/cooper-square-technologies/profound-python-sdk/commit/f8e641f05936e690ca5be4be35116108b9ff2b67))
18
+ * **api:** api update ([143d969](https://github.com/cooper-square-technologies/profound-python-sdk/commit/143d96960614b1f6c207970beda8a1140de36528))
19
+ * **api:** api update ([8182f33](https://github.com/cooper-square-technologies/profound-python-sdk/commit/8182f33d856951a35746de2752f5cf2d1ab96696))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * use async_to_httpx_files in patch method ([e0e219c](https://github.com/cooper-square-technologies/profound-python-sdk/commit/e0e219cc848e9794d45f53998ee6dcac46be52e5))
25
+
26
+
27
+ ### Chores
28
+
29
+ * **internal:** add `--fix` argument to lint script ([57c6d49](https://github.com/cooper-square-technologies/profound-python-sdk/commit/57c6d499d0f9c7a68714067ec55ab0a1d908a14a))
30
+ * **internal:** add missing files argument to base client ([f514b1b](https://github.com/cooper-square-technologies/profound-python-sdk/commit/f514b1b42cc88ecb4ac40fe8dea36be289603674))
31
+ * speedup initial import ([316b0d8](https://github.com/cooper-square-technologies/profound-python-sdk/commit/316b0d8bb4e7d993ed829082616873aabc3ff6ae))
32
+
33
+ ## 0.14.0 (2025-12-12)
34
+
35
+ Full Changelog: [v0.13.0...v0.14.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.13.0...v0.14.0)
36
+
37
+ ### Features
38
+
39
+ * **api:** api update ([8864b02](https://github.com/cooper-square-technologies/profound-python-sdk/commit/8864b02d9e403962aa086dd3e204f5e21e8fb6a7))
40
+ * **api:** api update ([7e96bac](https://github.com/cooper-square-technologies/profound-python-sdk/commit/7e96baca78ddbe24f90c38a5f4cc0f4a691b2045))
41
+
42
+
43
+ ### Bug Fixes
44
+
45
+ * **types:** allow pyright to infer TypedDict types within SequenceNotStr ([c2c8d12](https://github.com/cooper-square-technologies/profound-python-sdk/commit/c2c8d120144f6fc2025716319fff1dce93ac7148))
46
+
47
+
48
+ ### Chores
49
+
50
+ * add missing docstrings ([3e04a82](https://github.com/cooper-square-technologies/profound-python-sdk/commit/3e04a824af99bbee4543c781a9d592ec304dd504))
51
+
52
+ ## 0.13.0 (2025-12-03)
53
+
54
+ Full Changelog: [v0.12.0...v0.13.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.12.0...v0.13.0)
55
+
56
+ ### Features
57
+
58
+ * **api:** api update ([bf9299c](https://github.com/cooper-square-technologies/profound-python-sdk/commit/bf9299c3b9f844311dedbbc536c02db13db3100e))
59
+ * **api:** api update ([a8d74d3](https://github.com/cooper-square-technologies/profound-python-sdk/commit/a8d74d33b8cc6f4d04634e6d3e8afb25662ddc0f))
60
+
61
+
62
+ ### Bug Fixes
63
+
64
+ * ensure streams are always closed ([49a5d37](https://github.com/cooper-square-technologies/profound-python-sdk/commit/49a5d37750aa6adf7f671c592e9c4a6514f98105))
65
+
66
+
67
+ ### Chores
68
+
69
+ * **deps:** mypy 1.18.1 has a regression, pin to 1.17 ([0715bd2](https://github.com/cooper-square-technologies/profound-python-sdk/commit/0715bd2a8b92ff962259d6dc473563788b95d6f2))
70
+ * **docs:** use environment variables for authentication in code snippets ([426dd1c](https://github.com/cooper-square-technologies/profound-python-sdk/commit/426dd1c47cddc5e573f40c4ada52d0e58c74e37d))
71
+ * update lockfile ([1ab8506](https://github.com/cooper-square-technologies/profound-python-sdk/commit/1ab850656e13f8555453740d58c1be30d656f7be))
72
+
73
+ ## 0.12.0 (2025-11-25)
74
+
75
+ Full Changelog: [v0.11.0...v0.12.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.11.0...v0.12.0)
76
+
77
+ ### Features
78
+
79
+ * **api:** api update ([10996e0](https://github.com/cooper-square-technologies/profound-python-sdk/commit/10996e0ad8c482f33a97195d2a7cf1f7f33ce286))
80
+ * **api:** api update ([6b1f48e](https://github.com/cooper-square-technologies/profound-python-sdk/commit/6b1f48e1a6fe0103afe327d5b79d26656add4f3f))
81
+
82
+
83
+ ### Chores
84
+
85
+ * add Python 3.14 classifier and testing ([4041368](https://github.com/cooper-square-technologies/profound-python-sdk/commit/4041368c3f8987738cc3a5e5e33f5e0f7d0e27e9))
86
+
87
+ ## 0.11.0 (2025-11-21)
88
+
89
+ Full Changelog: [v0.10.0...v0.11.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.10.0...v0.11.0)
90
+
91
+ ### Features
92
+
93
+ * **api:** added `get /v1/org/assets` ([0c82b6b](https://github.com/cooper-square-technologies/profound-python-sdk/commit/0c82b6b859c3c1099d5fec3702c6cb49d5a23aa1))
94
+
3
95
  ## 0.10.0 (2025-11-20)
4
96
 
5
97
  Full Changelog: [v0.9.1...v0.10.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.9.1...v0.10.0)
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2025 Profound
189
+ Copyright 2026 Profound
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: profound
3
- Version: 0.10.0
3
+ Version: 0.15.1
4
4
  Summary: The official Python library for the profound API
5
5
  Project-URL: Homepage, https://github.com/cooper-square-technologies/profound-python-sdk
6
6
  Project-URL: Repository, https://github.com/cooper-square-technologies/profound-python-sdk
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.9
@@ -41,8 +42,6 @@ The Profound Python library provides convenient access to the Profound REST API
41
42
  application. The library includes type definitions for all request params and response fields,
42
43
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
43
44
 
44
- It is generated with [Stainless](https://www.stainless.com/).
45
-
46
45
  ## Documentation
47
46
 
48
47
  The REST API documentation can be found on [docs.tryprofound.com](https://docs.tryprofound.com). The full API of this library can be found in [api.md](https://github.com/cooper-square-technologies/profound-python-sdk/tree/main/api.md).
@@ -111,6 +110,7 @@ pip install profound[aiohttp]
111
110
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
112
111
 
113
112
  ```python
113
+ import os
114
114
  import asyncio
115
115
  from profound import DefaultAioHttpClient
116
116
  from profound import AsyncProfound
@@ -118,7 +118,7 @@ from profound import AsyncProfound
118
118
 
119
119
  async def main() -> None:
120
120
  async with AsyncProfound(
121
- api_key="My API Key",
121
+ api_key=os.environ.get("PROFOUND_API_KEY"), # This is the default and can be omitted
122
122
  http_client=DefaultAioHttpClient(),
123
123
  ) as client:
124
124
  org_items = await client.organizations.categories.list()
@@ -7,8 +7,6 @@ The Profound Python library provides convenient access to the Profound REST API
7
7
  application. The library includes type definitions for all request params and response fields,
8
8
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
9
9
 
10
- It is generated with [Stainless](https://www.stainless.com/).
11
-
12
10
  ## Documentation
13
11
 
14
12
  The REST API documentation can be found on [docs.tryprofound.com](https://docs.tryprofound.com). The full API of this library can be found in [api.md](api.md).
@@ -77,6 +75,7 @@ pip install profound[aiohttp]
77
75
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
78
76
 
79
77
  ```python
78
+ import os
80
79
  import asyncio
81
80
  from profound import DefaultAioHttpClient
82
81
  from profound import AsyncProfound
@@ -84,7 +83,7 @@ from profound import AsyncProfound
84
83
 
85
84
  async def main() -> None:
86
85
  async with AsyncProfound(
87
- api_key="My API Key",
86
+ api_key=os.environ.get("PROFOUND_API_KEY"), # This is the default and can be omitted
88
87
  http_client=DefaultAioHttpClient(),
89
88
  ) as client:
90
89
  org_items = await client.organizations.categories.list()
@@ -11,6 +11,7 @@ Types:
11
11
  ```python
12
12
  from profound.types import (
13
13
  OrganizationDomainsResponse,
14
+ OrganizationListAssetsResponse,
14
15
  OrganizationModelsResponse,
15
16
  OrganizationRegionsResponse,
16
17
  )
@@ -19,6 +20,7 @@ from profound.types import (
19
20
  Methods:
20
21
 
21
22
  - <code title="get /v1/org/domains">client.organizations.<a href="./src/profound/resources/organizations/organizations.py">domains</a>() -> <a href="./src/profound/types/organization_domains_response.py">OrganizationDomainsResponse</a></code>
23
+ - <code title="get /v1/org/assets">client.organizations.<a href="./src/profound/resources/organizations/organizations.py">list_assets</a>() -> <a href="./src/profound/types/organization_list_assets_response.py">OrganizationListAssetsResponse</a></code>
22
24
  - <code title="get /v1/org/models">client.organizations.<a href="./src/profound/resources/organizations/organizations.py">models</a>() -> <a href="./src/profound/types/organization_models_response.py">OrganizationModelsResponse</a></code>
23
25
  - <code title="get /v1/org/regions">client.organizations.<a href="./src/profound/resources/organizations/organizations.py">regions</a>() -> <a href="./src/profound/types/organization_regions_response.py">OrganizationRegionsResponse</a></code>
24
26
 
@@ -1,20 +1,22 @@
1
1
  [project]
2
2
  name = "profound"
3
- version = "0.10.0"
3
+ version = "0.15.1"
4
4
  description = "The official Python library for the profound API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
7
7
  authors = [
8
8
  { name = "Profound", email = "support@tryprofound.com" },
9
9
  ]
10
+
10
11
  dependencies = [
11
- "httpx>=0.23.0, <1",
12
- "pydantic>=1.9.0, <3",
13
- "typing-extensions>=4.10, <5",
14
- "anyio>=3.5.0, <5",
15
- "distro>=1.7.0, <2",
16
- "sniffio",
12
+ "httpx>=0.23.0, <1",
13
+ "pydantic>=1.9.0, <3",
14
+ "typing-extensions>=4.10, <5",
15
+ "anyio>=3.5.0, <5",
16
+ "distro>=1.7.0, <2",
17
+ "sniffio",
17
18
  ]
19
+
18
20
  requires-python = ">= 3.9"
19
21
  classifiers = [
20
22
  "Typing :: Typed",
@@ -24,6 +26,7 @@ classifiers = [
24
26
  "Programming Language :: Python :: 3.11",
25
27
  "Programming Language :: Python :: 3.12",
26
28
  "Programming Language :: Python :: 3.13",
29
+ "Programming Language :: Python :: 3.14",
27
30
  "Operating System :: OS Independent",
28
31
  "Operating System :: POSIX",
29
32
  "Operating System :: MacOS",
@@ -45,7 +48,7 @@ managed = true
45
48
  # version pins are in requirements-dev.lock
46
49
  dev-dependencies = [
47
50
  "pyright==1.1.399",
48
- "mypy",
51
+ "mypy==1.17",
49
52
  "respx",
50
53
  "pytest",
51
54
  "pytest-asyncio",
@@ -12,40 +12,45 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.12.8
15
+ aiohttp==3.13.2
16
16
  # via httpx-aiohttp
17
17
  # via profound
18
- aiosignal==1.3.2
18
+ aiosignal==1.4.0
19
19
  # via aiohttp
20
- annotated-types==0.6.0
20
+ annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.4.0
22
+ anyio==4.12.0
23
23
  # via httpx
24
24
  # via profound
25
- argcomplete==3.1.2
25
+ argcomplete==3.6.3
26
26
  # via nox
27
27
  async-timeout==5.0.1
28
28
  # via aiohttp
29
- attrs==25.3.0
29
+ attrs==25.4.0
30
30
  # via aiohttp
31
- certifi==2023.7.22
31
+ # via nox
32
+ backports-asyncio-runner==1.2.0
33
+ # via pytest-asyncio
34
+ certifi==2025.11.12
32
35
  # via httpcore
33
36
  # via httpx
34
- colorlog==6.7.0
37
+ colorlog==6.10.1
38
+ # via nox
39
+ dependency-groups==1.3.1
35
40
  # via nox
36
- dirty-equals==0.6.0
37
- distlib==0.3.7
41
+ dirty-equals==0.11
42
+ distlib==0.4.0
38
43
  # via virtualenv
39
- distro==1.8.0
44
+ distro==1.9.0
40
45
  # via profound
41
- exceptiongroup==1.2.2
46
+ exceptiongroup==1.3.1
42
47
  # via anyio
43
48
  # via pytest
44
- execnet==2.1.1
49
+ execnet==2.1.2
45
50
  # via pytest-xdist
46
- filelock==3.12.4
51
+ filelock==3.19.1
47
52
  # via virtualenv
48
- frozenlist==1.6.2
53
+ frozenlist==1.8.0
49
54
  # via aiohttp
50
55
  # via aiosignal
51
56
  h11==0.16.0
@@ -58,80 +63,87 @@ httpx==0.28.1
58
63
  # via respx
59
64
  httpx-aiohttp==0.1.9
60
65
  # via profound
61
- idna==3.4
66
+ humanize==4.13.0
67
+ # via nox
68
+ idna==3.11
62
69
  # via anyio
63
70
  # via httpx
64
71
  # via yarl
65
- importlib-metadata==7.0.0
66
- iniconfig==2.0.0
72
+ importlib-metadata==8.7.0
73
+ iniconfig==2.1.0
67
74
  # via pytest
68
75
  markdown-it-py==3.0.0
69
76
  # via rich
70
77
  mdurl==0.1.2
71
78
  # via markdown-it-py
72
- multidict==6.4.4
79
+ multidict==6.7.0
73
80
  # via aiohttp
74
81
  # via yarl
75
- mypy==1.14.1
76
- mypy-extensions==1.0.0
82
+ mypy==1.17.0
83
+ mypy-extensions==1.1.0
77
84
  # via mypy
78
- nodeenv==1.8.0
85
+ nodeenv==1.9.1
79
86
  # via pyright
80
- nox==2023.4.22
81
- packaging==23.2
87
+ nox==2025.11.12
88
+ packaging==25.0
89
+ # via dependency-groups
82
90
  # via nox
83
91
  # via pytest
84
- platformdirs==3.11.0
92
+ pathspec==0.12.1
93
+ # via mypy
94
+ platformdirs==4.4.0
85
95
  # via virtualenv
86
- pluggy==1.5.0
96
+ pluggy==1.6.0
87
97
  # via pytest
88
- propcache==0.3.1
98
+ propcache==0.4.1
89
99
  # via aiohttp
90
100
  # via yarl
91
- pydantic==2.11.9
101
+ pydantic==2.12.5
92
102
  # via profound
93
- pydantic-core==2.33.2
103
+ pydantic-core==2.41.5
94
104
  # via pydantic
95
- pygments==2.18.0
105
+ pygments==2.19.2
106
+ # via pytest
96
107
  # via rich
97
108
  pyright==1.1.399
98
- pytest==8.3.3
109
+ pytest==8.4.2
99
110
  # via pytest-asyncio
100
111
  # via pytest-xdist
101
- pytest-asyncio==0.24.0
102
- pytest-xdist==3.7.0
103
- python-dateutil==2.8.2
112
+ pytest-asyncio==1.2.0
113
+ pytest-xdist==3.8.0
114
+ python-dateutil==2.9.0.post0
104
115
  # via time-machine
105
- pytz==2023.3.post1
106
- # via dirty-equals
107
116
  respx==0.22.0
108
- rich==13.7.1
109
- ruff==0.9.4
110
- setuptools==68.2.2
111
- # via nodeenv
112
- six==1.16.0
117
+ rich==14.2.0
118
+ ruff==0.14.7
119
+ six==1.17.0
113
120
  # via python-dateutil
114
- sniffio==1.3.0
115
- # via anyio
121
+ sniffio==1.3.1
116
122
  # via profound
117
- time-machine==2.9.0
118
- tomli==2.0.2
123
+ time-machine==2.19.0
124
+ tomli==2.3.0
125
+ # via dependency-groups
119
126
  # via mypy
127
+ # via nox
120
128
  # via pytest
121
- typing-extensions==4.12.2
129
+ typing-extensions==4.15.0
130
+ # via aiosignal
122
131
  # via anyio
132
+ # via exceptiongroup
123
133
  # via multidict
124
134
  # via mypy
125
135
  # via profound
126
136
  # via pydantic
127
137
  # via pydantic-core
128
138
  # via pyright
139
+ # via pytest-asyncio
129
140
  # via typing-inspection
130
- typing-inspection==0.4.1
141
+ # via virtualenv
142
+ typing-inspection==0.4.2
131
143
  # via pydantic
132
- virtualenv==20.24.5
144
+ virtualenv==20.35.4
133
145
  # via nox
134
- yarl==1.20.0
146
+ yarl==1.22.0
135
147
  # via aiohttp
136
- zipp==3.17.0
148
+ zipp==3.23.0
137
149
  # via importlib-metadata
@@ -12,28 +12,28 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.12.8
15
+ aiohttp==3.13.2
16
16
  # via httpx-aiohttp
17
17
  # via profound
18
- aiosignal==1.3.2
18
+ aiosignal==1.4.0
19
19
  # via aiohttp
20
- annotated-types==0.6.0
20
+ annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.4.0
22
+ anyio==4.12.0
23
23
  # via httpx
24
24
  # via profound
25
25
  async-timeout==5.0.1
26
26
  # via aiohttp
27
- attrs==25.3.0
27
+ attrs==25.4.0
28
28
  # via aiohttp
29
- certifi==2023.7.22
29
+ certifi==2025.11.12
30
30
  # via httpcore
31
31
  # via httpx
32
- distro==1.8.0
32
+ distro==1.9.0
33
33
  # via profound
34
- exceptiongroup==1.2.2
34
+ exceptiongroup==1.3.1
35
35
  # via anyio
36
- frozenlist==1.6.2
36
+ frozenlist==1.8.0
37
37
  # via aiohttp
38
38
  # via aiosignal
39
39
  h11==0.16.0
@@ -45,31 +45,32 @@ httpx==0.28.1
45
45
  # via profound
46
46
  httpx-aiohttp==0.1.9
47
47
  # via profound
48
- idna==3.4
48
+ idna==3.11
49
49
  # via anyio
50
50
  # via httpx
51
51
  # via yarl
52
- multidict==6.4.4
52
+ multidict==6.7.0
53
53
  # via aiohttp
54
54
  # via yarl
55
- propcache==0.3.1
55
+ propcache==0.4.1
56
56
  # via aiohttp
57
57
  # via yarl
58
- pydantic==2.11.9
58
+ pydantic==2.12.5
59
59
  # via profound
60
- pydantic-core==2.33.2
60
+ pydantic-core==2.41.5
61
61
  # via pydantic
62
- sniffio==1.3.0
63
- # via anyio
62
+ sniffio==1.3.1
64
63
  # via profound
65
- typing-extensions==4.12.2
64
+ typing-extensions==4.15.0
65
+ # via aiosignal
66
66
  # via anyio
67
+ # via exceptiongroup
67
68
  # via multidict
68
69
  # via profound
69
70
  # via pydantic
70
71
  # via pydantic-core
71
72
  # via typing-inspection
72
- typing-inspection==0.4.1
73
+ typing-inspection==0.4.2
73
74
  # via pydantic
74
- yarl==1.20.0
75
+ yarl==1.22.0
75
76
  # via aiohttp
@@ -1247,9 +1247,12 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1247
1247
  *,
1248
1248
  cast_to: Type[ResponseT],
1249
1249
  body: Body | None = None,
1250
+ files: RequestFiles | None = None,
1250
1251
  options: RequestOptions = {},
1251
1252
  ) -> ResponseT:
1252
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
1253
+ opts = FinalRequestOptions.construct(
1254
+ method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
1255
+ )
1253
1256
  return self.request(cast_to, opts)
1254
1257
 
1255
1258
  def put(
@@ -1767,9 +1770,12 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1767
1770
  *,
1768
1771
  cast_to: Type[ResponseT],
1769
1772
  body: Body | None = None,
1773
+ files: RequestFiles | None = None,
1770
1774
  options: RequestOptions = {},
1771
1775
  ) -> ResponseT:
1772
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
1776
+ opts = FinalRequestOptions.construct(
1777
+ method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
1778
+ )
1773
1779
  return await self.request(cast_to, opts)
1774
1780
 
1775
1781
  async def put(