akernel-sdk 0.1.2__tar.gz → 0.1.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.
Files changed (33) hide show
  1. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/PKG-INFO +1 -1
  2. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_addresses.py +4 -4
  3. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/openyuanrong_sandbox.py +5 -2
  4. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk.egg-info/PKG-INFO +1 -1
  5. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/pyproject.toml +1 -1
  6. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/README.md +0 -0
  7. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/__init__.py +0 -0
  8. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/__init__.py +0 -0
  9. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/base.py +0 -0
  10. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/errors.py +0 -0
  11. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/openyuanrong_sdk.py +0 -0
  12. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/openyuanrong_sdk_commands.py +0 -0
  13. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/openyuanrong_sdk_filesystem.py +0 -0
  14. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/openyuanrong_sdk_impl.py +0 -0
  15. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_backends/registry.py +0 -0
  16. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_instance.py +0 -0
  17. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_pty_transport.py +0 -0
  18. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_resource_api.py +0 -0
  19. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_resources.py +0 -0
  20. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/_sandbox_resources.py +0 -0
  21. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/cli.py +0 -0
  22. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/commands.py +0 -0
  23. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/filesystem.py +0 -0
  24. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/pty.py +0 -0
  25. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/py.typed +0 -0
  26. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/sandbox.py +0 -0
  27. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk/types.py +0 -0
  28. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk.egg-info/SOURCES.txt +0 -0
  29. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk.egg-info/dependency_links.txt +0 -0
  30. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk.egg-info/entry_points.txt +0 -0
  31. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk.egg-info/requires.txt +0 -0
  32. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/akernel_sdk.egg-info/top_level.txt +0 -0
  33. {akernel_sdk-0.1.2 → akernel_sdk-0.1.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akernel-sdk
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Python SDK and CLI for AKernel remote sandboxes
5
5
  Author: AKernel Authors
6
6
  License-Expression: Apache-2.0
@@ -16,8 +16,8 @@
16
16
 
17
17
  The public SDK accepts a compact ``AKERNEL_SERVER_ADDRESS`` value:
18
18
 
19
- * ``host``: public mode. Frontend API and exec WebSocket use 443/TLS; public
20
- port-forward URLs use 80/plain HTTP.
19
+ * ``host:port``: shared-port mode. Frontend API and exec WebSocket use the
20
+ explicit port with TLS; public port-forward URLs use it with plain HTTP.
21
21
  * ``host:port``: shared-port mode. Frontend API, exec WebSocket, and public
22
22
  port-forward URLs all use the explicit port with TLS by default.
23
23
 
@@ -123,7 +123,7 @@ def gateway_endpoint_from_env() -> Endpoint:
123
123
  An explicit gateway override is parsed as plain HTTP by default because
124
124
  standalone exposes Traefik's web entrypoint without TLS. Without an
125
125
  explicit gateway, host-only server addresses use public 80, while
126
- host:port server addresses share the API port and TLS setting.
126
+ host:port server addresses reuse the API port with plain HTTP.
127
127
  """
128
128
  override = _gateway_override_raw()
129
129
  if override:
@@ -138,7 +138,7 @@ def gateway_endpoint_from_env() -> Endpoint:
138
138
  return Endpoint(
139
139
  host=server.host,
140
140
  port=server.port,
141
- scheme=server.scheme,
141
+ scheme="http",
142
142
  explicit_port=True,
143
143
  )
144
144
  return Endpoint(
@@ -249,9 +249,12 @@ class _Session:
249
249
  def terminate(self) -> None:
250
250
  if self._terminated:
251
251
  return
252
+ # Release the native handle before deleting the remote sandbox. This
253
+ # lets transports such as reverse tunnels close while their routes are
254
+ # still available. The stable-ID delete still uses a fresh native
255
+ # client, so a failed deletion remains retryable after local cleanup.
256
+ self.close()
252
257
  try:
253
- # The native instance is one-shot: kill() closes its HTTP client even
254
- # when deletion fails. Delete by stable ID so a retry gets a new client.
255
258
  yr_sandbox.Sandbox.delete(self.id)
256
259
  except Exception as error:
257
260
  raise _convert_error("terminate sandbox", error) from error
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akernel-sdk
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Python SDK and CLI for AKernel remote sandboxes
5
5
  Author: AKernel Authors
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "akernel-sdk"
7
- version = "0.1.2"
7
+ version = "0.1.4"
8
8
  description = "Python SDK and CLI for AKernel remote sandboxes"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
File without changes
File without changes