kernel 0.2.0__tar.gz → 0.3.0__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 (93) hide show
  1. kernel-0.3.0/.release-please-manifest.json +3 -0
  2. {kernel-0.2.0 → kernel-0.3.0}/CHANGELOG.md +16 -0
  3. {kernel-0.2.0 → kernel-0.3.0}/PKG-INFO +24 -1
  4. {kernel-0.2.0 → kernel-0.3.0}/README.md +23 -0
  5. {kernel-0.2.0 → kernel-0.3.0}/SECURITY.md +1 -1
  6. {kernel-0.2.0 → kernel-0.3.0}/api.md +9 -1
  7. {kernel-0.2.0 → kernel-0.3.0}/pyproject.toml +1 -1
  8. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_version.py +1 -1
  9. kernel-0.3.0/src/kernel/resources/browsers.py +486 -0
  10. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/__init__.py +4 -0
  11. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/browser_create_params.py +5 -0
  12. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/browser_create_response.py +6 -0
  13. kernel-0.3.0/src/kernel/types/browser_delete_params.py +12 -0
  14. kernel-0.3.0/src/kernel/types/browser_list_response.py +26 -0
  15. kernel-0.3.0/src/kernel/types/browser_persistence.py +10 -0
  16. kernel-0.3.0/src/kernel/types/browser_persistence_param.py +12 -0
  17. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/browser_retrieve_response.py +6 -0
  18. kernel-0.3.0/tests/api_resources/test_browsers.py +404 -0
  19. {kernel-0.2.0 → kernel-0.3.0}/tests/test_client.py +34 -10
  20. kernel-0.2.0/.release-please-manifest.json +0 -3
  21. kernel-0.2.0/src/kernel/resources/browsers.py +0 -248
  22. kernel-0.2.0/tests/api_resources/test_browsers.py +0 -174
  23. {kernel-0.2.0 → kernel-0.3.0}/.gitignore +0 -0
  24. {kernel-0.2.0 → kernel-0.3.0}/CONTRIBUTING.md +0 -0
  25. {kernel-0.2.0 → kernel-0.3.0}/LICENSE +0 -0
  26. {kernel-0.2.0 → kernel-0.3.0}/bin/check-release-environment +0 -0
  27. {kernel-0.2.0 → kernel-0.3.0}/bin/publish-pypi +0 -0
  28. {kernel-0.2.0 → kernel-0.3.0}/examples/.keep +0 -0
  29. {kernel-0.2.0 → kernel-0.3.0}/mypy.ini +0 -0
  30. {kernel-0.2.0 → kernel-0.3.0}/noxfile.py +0 -0
  31. {kernel-0.2.0 → kernel-0.3.0}/release-please-config.json +0 -0
  32. {kernel-0.2.0 → kernel-0.3.0}/requirements-dev.lock +0 -0
  33. {kernel-0.2.0 → kernel-0.3.0}/requirements.lock +0 -0
  34. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/__init__.py +0 -0
  35. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_base_client.py +0 -0
  36. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_client.py +0 -0
  37. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_compat.py +0 -0
  38. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_constants.py +0 -0
  39. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_exceptions.py +0 -0
  40. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_files.py +0 -0
  41. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_models.py +0 -0
  42. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_qs.py +0 -0
  43. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_resource.py +0 -0
  44. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_response.py +0 -0
  45. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_streaming.py +0 -0
  46. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_types.py +0 -0
  47. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/__init__.py +0 -0
  48. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_logs.py +0 -0
  49. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_proxy.py +0 -0
  50. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_reflection.py +0 -0
  51. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  52. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_streams.py +0 -0
  53. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_sync.py +0 -0
  54. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_transform.py +0 -0
  55. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_typing.py +0 -0
  56. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/_utils/_utils.py +0 -0
  57. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/app_framework.py +0 -0
  58. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/lib/.keep +0 -0
  59. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/py.typed +0 -0
  60. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/resources/__init__.py +0 -0
  61. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/resources/apps/__init__.py +0 -0
  62. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/resources/apps/apps.py +0 -0
  63. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/resources/apps/deployments.py +0 -0
  64. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/resources/apps/invocations.py +0 -0
  65. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/app_list_params.py +0 -0
  66. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/app_list_response.py +0 -0
  67. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/apps/__init__.py +0 -0
  68. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/apps/deployment_create_params.py +0 -0
  69. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/apps/deployment_create_response.py +0 -0
  70. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/apps/deployment_follow_response.py +0 -0
  71. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/apps/invocation_create_params.py +0 -0
  72. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/apps/invocation_create_response.py +0 -0
  73. {kernel-0.2.0 → kernel-0.3.0}/src/kernel/types/apps/invocation_retrieve_response.py +0 -0
  74. {kernel-0.2.0 → kernel-0.3.0}/tests/__init__.py +0 -0
  75. {kernel-0.2.0 → kernel-0.3.0}/tests/api_resources/__init__.py +0 -0
  76. {kernel-0.2.0 → kernel-0.3.0}/tests/api_resources/apps/__init__.py +0 -0
  77. {kernel-0.2.0 → kernel-0.3.0}/tests/api_resources/apps/test_deployments.py +0 -0
  78. {kernel-0.2.0 → kernel-0.3.0}/tests/api_resources/apps/test_invocations.py +0 -0
  79. {kernel-0.2.0 → kernel-0.3.0}/tests/api_resources/test_apps.py +0 -0
  80. {kernel-0.2.0 → kernel-0.3.0}/tests/conftest.py +0 -0
  81. {kernel-0.2.0 → kernel-0.3.0}/tests/sample_file.txt +0 -0
  82. {kernel-0.2.0 → kernel-0.3.0}/tests/test_deepcopy.py +0 -0
  83. {kernel-0.2.0 → kernel-0.3.0}/tests/test_extract_files.py +0 -0
  84. {kernel-0.2.0 → kernel-0.3.0}/tests/test_files.py +0 -0
  85. {kernel-0.2.0 → kernel-0.3.0}/tests/test_models.py +0 -0
  86. {kernel-0.2.0 → kernel-0.3.0}/tests/test_qs.py +0 -0
  87. {kernel-0.2.0 → kernel-0.3.0}/tests/test_required_args.py +0 -0
  88. {kernel-0.2.0 → kernel-0.3.0}/tests/test_response.py +0 -0
  89. {kernel-0.2.0 → kernel-0.3.0}/tests/test_streaming.py +0 -0
  90. {kernel-0.2.0 → kernel-0.3.0}/tests/test_transform.py +0 -0
  91. {kernel-0.2.0 → kernel-0.3.0}/tests/test_utils/test_proxy.py +0 -0
  92. {kernel-0.2.0 → kernel-0.3.0}/tests/test_utils/test_typing.py +0 -0
  93. {kernel-0.2.0 → kernel-0.3.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.3.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 (2025-05-22)
4
+
5
+ Full Changelog: [v0.2.0...v0.3.0](https://github.com/onkernel/kernel-python-sdk/compare/v0.2.0...v0.3.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** update via SDK Studio ([e87dc0f](https://github.com/onkernel/kernel-python-sdk/commit/e87dc0f7ab8eac43664050e0325fca9225b12c16))
10
+ * **api:** update via SDK Studio ([e4b0438](https://github.com/onkernel/kernel-python-sdk/commit/e4b0438d63b71ea30feae04328f32ddbcdd2b15e))
11
+ * **api:** update via SDK Studio ([4a8f812](https://github.com/onkernel/kernel-python-sdk/commit/4a8f812a39dcf768ac753c77d1d2d31881d8c4ec))
12
+ * **api:** update via SDK Studio ([260f1a2](https://github.com/onkernel/kernel-python-sdk/commit/260f1a2e5e877e91c066935533c376c341612557))
13
+
14
+
15
+ ### Chores
16
+
17
+ * **docs:** grammar improvements ([f0f0e85](https://github.com/onkernel/kernel-python-sdk/commit/f0f0e855505db93ad22cea24ec73acf13b4f8ed5))
18
+
3
19
  ## 0.2.0 (2025-05-21)
4
20
 
5
21
  Full Changelog: [v0.1.0...v0.2.0](https://github.com/onkernel/kernel-python-sdk/compare/v0.1.0...v0.2.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kernel
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: The official Python library for the kernel API
5
5
  Project-URL: Homepage, https://github.com/onkernel/kernel-python-sdk
6
6
  Project-URL: Repository, https://github.com/onkernel/kernel-python-sdk
@@ -118,6 +118,22 @@ Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typ
118
118
 
119
119
  Typed requests and responses provide autocomplete and documentation within your editor. If you would like to see type errors in VS Code to help catch bugs earlier, set `python.analysis.typeCheckingMode` to `basic`.
120
120
 
121
+ ## Nested params
122
+
123
+ Nested parameters are dictionaries, typed using `TypedDict`, for example:
124
+
125
+ ```python
126
+ from kernel import Kernel
127
+
128
+ client = Kernel()
129
+
130
+ browser = client.browsers.create(
131
+ invocation_id="rr33xuugxj9h0bkf1rdt2bet",
132
+ persistence={"id": "my-awesome-browser-for-user-1234"},
133
+ )
134
+ print(browser.persistence)
135
+ ```
136
+
121
137
  ## File uploads
122
138
 
123
139
  Request parameters that correspond to file uploads can be passed as `bytes`, or a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
@@ -154,6 +170,7 @@ client = Kernel()
154
170
  try:
155
171
  client.browsers.create(
156
172
  invocation_id="REPLACE_ME",
173
+ persistence={"id": "browser-for-user-1234"},
157
174
  )
158
175
  except kernel.APIConnectionError as e:
159
176
  print("The server could not be reached")
@@ -199,6 +216,7 @@ client = Kernel(
199
216
  # Or, configure per-request:
200
217
  client.with_options(max_retries=5).browsers.create(
201
218
  invocation_id="REPLACE_ME",
219
+ persistence={"id": "browser-for-user-1234"},
202
220
  )
203
221
  ```
204
222
 
@@ -224,6 +242,7 @@ client = Kernel(
224
242
  # Override per-request:
225
243
  client.with_options(timeout=5.0).browsers.create(
226
244
  invocation_id="REPLACE_ME",
245
+ persistence={"id": "browser-for-user-1234"},
227
246
  )
228
247
  ```
229
248
 
@@ -267,6 +286,9 @@ from kernel import Kernel
267
286
  client = Kernel()
268
287
  response = client.browsers.with_raw_response.create(
269
288
  invocation_id="REPLACE_ME",
289
+ persistence={
290
+ "id": "browser-for-user-1234"
291
+ },
270
292
  )
271
293
  print(response.headers.get('X-My-Header'))
272
294
 
@@ -287,6 +309,7 @@ To stream the response body, use `.with_streaming_response` instead, which requi
287
309
  ```python
288
310
  with client.browsers.with_streaming_response.create(
289
311
  invocation_id="REPLACE_ME",
312
+ persistence={"id": "browser-for-user-1234"},
290
313
  ) as response:
291
314
  print(response.headers.get("X-My-Header"))
292
315
 
@@ -87,6 +87,22 @@ Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typ
87
87
 
88
88
  Typed requests and responses provide autocomplete and documentation within your editor. If you would like to see type errors in VS Code to help catch bugs earlier, set `python.analysis.typeCheckingMode` to `basic`.
89
89
 
90
+ ## Nested params
91
+
92
+ Nested parameters are dictionaries, typed using `TypedDict`, for example:
93
+
94
+ ```python
95
+ from kernel import Kernel
96
+
97
+ client = Kernel()
98
+
99
+ browser = client.browsers.create(
100
+ invocation_id="rr33xuugxj9h0bkf1rdt2bet",
101
+ persistence={"id": "my-awesome-browser-for-user-1234"},
102
+ )
103
+ print(browser.persistence)
104
+ ```
105
+
90
106
  ## File uploads
91
107
 
92
108
  Request parameters that correspond to file uploads can be passed as `bytes`, or a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
@@ -123,6 +139,7 @@ client = Kernel()
123
139
  try:
124
140
  client.browsers.create(
125
141
  invocation_id="REPLACE_ME",
142
+ persistence={"id": "browser-for-user-1234"},
126
143
  )
127
144
  except kernel.APIConnectionError as e:
128
145
  print("The server could not be reached")
@@ -168,6 +185,7 @@ client = Kernel(
168
185
  # Or, configure per-request:
169
186
  client.with_options(max_retries=5).browsers.create(
170
187
  invocation_id="REPLACE_ME",
188
+ persistence={"id": "browser-for-user-1234"},
171
189
  )
172
190
  ```
173
191
 
@@ -193,6 +211,7 @@ client = Kernel(
193
211
  # Override per-request:
194
212
  client.with_options(timeout=5.0).browsers.create(
195
213
  invocation_id="REPLACE_ME",
214
+ persistence={"id": "browser-for-user-1234"},
196
215
  )
197
216
  ```
198
217
 
@@ -236,6 +255,9 @@ from kernel import Kernel
236
255
  client = Kernel()
237
256
  response = client.browsers.with_raw_response.create(
238
257
  invocation_id="REPLACE_ME",
258
+ persistence={
259
+ "id": "browser-for-user-1234"
260
+ },
239
261
  )
240
262
  print(response.headers.get('X-My-Header'))
241
263
 
@@ -256,6 +278,7 @@ To stream the response body, use `.with_streaming_response` instead, which requi
256
278
  ```python
257
279
  with client.browsers.with_streaming_response.create(
258
280
  invocation_id="REPLACE_ME",
281
+ persistence={"id": "browser-for-user-1234"},
259
282
  ) as response:
260
283
  print(response.headers.get("X-My-Header"))
261
284
 
@@ -16,7 +16,7 @@ before making any information public.
16
16
  ## Reporting Non-SDK Related Security Issues
17
17
 
18
18
  If you encounter security issues that are not directly related to SDKs but pertain to the services
19
- or products provided by Kernel please follow the respective company's security reporting guidelines.
19
+ or products provided by Kernel, please follow the respective company's security reporting guidelines.
20
20
 
21
21
  ---
22
22
 
@@ -41,10 +41,18 @@ Methods:
41
41
  Types:
42
42
 
43
43
  ```python
44
- from kernel.types import BrowserCreateResponse, BrowserRetrieveResponse
44
+ from kernel.types import (
45
+ BrowserPersistence,
46
+ BrowserCreateResponse,
47
+ BrowserRetrieveResponse,
48
+ BrowserListResponse,
49
+ )
45
50
  ```
46
51
 
47
52
  Methods:
48
53
 
49
54
  - <code title="post /browsers">client.browsers.<a href="./src/kernel/resources/browsers.py">create</a>(\*\*<a href="src/kernel/types/browser_create_params.py">params</a>) -> <a href="./src/kernel/types/browser_create_response.py">BrowserCreateResponse</a></code>
50
55
  - <code title="get /browsers/{id}">client.browsers.<a href="./src/kernel/resources/browsers.py">retrieve</a>(id) -> <a href="./src/kernel/types/browser_retrieve_response.py">BrowserRetrieveResponse</a></code>
56
+ - <code title="get /browsers">client.browsers.<a href="./src/kernel/resources/browsers.py">list</a>() -> <a href="./src/kernel/types/browser_list_response.py">BrowserListResponse</a></code>
57
+ - <code title="delete /browsers">client.browsers.<a href="./src/kernel/resources/browsers.py">delete</a>(\*\*<a href="src/kernel/types/browser_delete_params.py">params</a>) -> None</code>
58
+ - <code title="delete /browsers/{id}">client.browsers.<a href="./src/kernel/resources/browsers.py">delete_by_id</a>(id) -> None</code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  description = "The official Python library for the kernel API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "kernel"
4
- __version__ = "0.2.0" # x-release-please-version
4
+ __version__ = "0.3.0" # x-release-please-version