spot-sdk-python 2.1.0b2__tar.gz → 2.1.0b3__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 (43) hide show
  1. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/PKG-INFO +1 -1
  2. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/pyproject.toml +1 -1
  3. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/pyproject.toml.orig +1 -1
  4. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/hosting.py +4 -2
  5. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/container.py +10 -10
  6. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/README.md +0 -0
  7. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/__init__.py +0 -0
  8. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/_json.py +0 -0
  9. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/app.py +0 -0
  10. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/artifacts.py +0 -0
  11. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/clients.py +0 -0
  12. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/config.py +0 -0
  13. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/correlation.py +0 -0
  14. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/email.py +0 -0
  15. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/errors.py +0 -0
  16. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/knowledge.py +0 -0
  17. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/knowledge_tags.py +0 -0
  18. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/llm.py +0 -0
  19. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/logging.py +0 -0
  20. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/manifest.py +0 -0
  21. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/mime.py +0 -0
  22. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/model_input.py +0 -0
  23. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/orchestrator.py +0 -0
  24. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/proxy.py +0 -0
  25. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/py.typed +0 -0
  26. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/retriever.py +0 -0
  27. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/settings.py +0 -0
  28. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/signals.py +0 -0
  29. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/README.md +0 -0
  30. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/__init__.py +0 -0
  31. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/contract.py +0 -0
  32. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/corpus.py +0 -0
  33. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/engine.py +0 -0
  34. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/fake_knowledge_client.py +0 -0
  35. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/fake_llm.py +0 -0
  36. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/fake_spot.py +0 -0
  37. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/metrics.py +0 -0
  38. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/report.py +0 -0
  39. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/settings.py +0 -0
  40. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/testing/views.py +0 -0
  41. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/urls.py +0 -0
  42. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/verdict.py +0 -0
  43. {spot_sdk_python-2.1.0b2 → spot_sdk_python-2.1.0b3}/spot_sdk/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spot-sdk-python
3
- Version: 2.1.0b2
3
+ Version: 2.1.0b3
4
4
  Summary: SPOT plugin SDK: the plugin contract, the plugin runtime, its clients and test helpers
5
5
  Author: SPOT Project
6
6
  Author-email: SPOT Project <spot@sonn.lu>
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "spot-sdk-python"
7
- version = "2.1.0b2"
7
+ version = "2.1.0b3"
8
8
  description = "SPOT plugin SDK: the plugin contract, the plugin runtime, its clients and test helpers"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "spot-sdk-python"
7
- version = "2.1.0b2"
7
+ version = "2.1.0b3"
8
8
  description = "SPOT plugin SDK: the plugin contract, the plugin runtime, its clients and test helpers"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -53,8 +53,10 @@ class InvalidResponseError(Exception):
53
53
 
54
54
  def isolated(egress: Egress | None) -> bool:
55
55
  """Whether a plugin of this egress class runs on a network without a route
56
- out: class none. An unrecorded class (None) counts as content."""
57
- return egress == Egress.NONE
56
+ out: every class, from SPOT 2.1 (spot/spot#148). A plugin reaches the
57
+ hosts its settings of type url name, through SPOT's egress gateway, and
58
+ nothing else: its class says what it sends out, not where it runs."""
59
+ return True
58
60
 
59
61
 
60
62
  def limits(resources: Resources) -> dict[str, Any]:
@@ -1,14 +1,14 @@
1
1
  """A plugin's image run as SPOT runs it, and checked: ``run_plugin_test``.
2
2
 
3
3
  The engine runs in a container that reaches the Docker daemon: spot-cli's
4
- image, given the socket. For each run it creates a network, without a route
5
- out for a plugin of egress class none as ``spot-plugins-isolated`` is, and
6
- joins it under SPOT's names, so that the plugin reaches the fake SPOT where it
7
- reaches SPOT. The plugin's container gets the plugin-manager's options and
8
- limits, a new token and its secret settings as files (``spot_sdk.hosting``).
9
- The network and the container carry the label ``spot.test.run=<run>``, by
10
- which the run removes them when it ends, however it ends: even one the daemon
11
- made while the call that asked for it failed. The image is never pulled.
4
+ image, given the socket. For each run it creates a network without a route
5
+ out, as SPOT runs every plugin (``isolated``), and joins it under SPOT's
6
+ names, so that the plugin reaches the fake SPOT where it reaches SPOT. The
7
+ plugin's container gets the plugin-manager's options and limits, a new token
8
+ and its secret settings as files (``spot_sdk.hosting``). The network and the
9
+ container carry the label ``spot.test.run=<run>``, by which the run removes
10
+ them when it ends, however it ends: even one the daemon made while the call
11
+ that asked for it failed. The image is never pulled.
12
12
  Needs the ``testing`` extra: ``pip install "spot-sdk-python[testing]"``.
13
13
  """
14
14
 
@@ -93,8 +93,8 @@ def run_plugin_test(
93
93
  """Run the plugin's image as SPOT runs it, against ``corpus``, and report.
94
94
 
95
95
  It runs in a container that reaches the Docker daemon: spot-cli's image,
96
- given the socket. It creates the plugin's network (internal for egress
97
- class none), joins it as SPOT's services, starts the plugin with the
96
+ given the socket. It creates the plugin's network (internal, as for every
97
+ plugin), joins it as SPOT's services, starts the plugin with the
98
98
  plugin-manager's options, its limits, a new token and its secrets as
99
99
  files, serves the fake SPOT, runs the checks and removes what it
100
100
  created, whatever happens.