graphddb-runtime 0.8.0__tar.gz → 0.9.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 (57) hide show
  1. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/PKG-INFO +2 -2
  2. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/async_runtime.py +11 -0
  3. graphddb_runtime-0.9.0/graphddb_runtime/behavior_exec.py +876 -0
  4. graphddb_runtime-0.9.0/graphddb_runtime/handler_registry.py +170 -0
  5. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/runtime.py +417 -626
  6. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/templates.py +136 -1
  7. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/transactions.py +6 -231
  8. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime.egg-info/PKG-INFO +2 -2
  9. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime.egg-info/SOURCES.txt +6 -1
  10. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime.egg-info/requires.txt +1 -1
  11. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/pyproject.toml +2 -2
  12. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_concurrency.py +36 -50
  13. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_contract_runtime.py +14 -0
  14. graphddb_runtime-0.9.0/tests/test_error_policy.py +157 -0
  15. graphddb_runtime-0.9.0/tests/test_generated_module.py +293 -0
  16. graphddb_runtime-0.9.0/tests/test_guard_eval.py +37 -0
  17. graphddb_runtime-0.9.0/tests/test_handler_registry.py +72 -0
  18. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration.py +7 -4
  19. graphddb_runtime-0.9.0/tests/test_integration_batch_write.py +263 -0
  20. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_edge_write.py +43 -71
  21. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_relations.py +3 -2
  22. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_relations.py +24 -254
  23. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_spec_version_guard.py +29 -23
  24. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_unit.py +132 -126
  25. graphddb_runtime-0.8.0/graphddb_runtime/relations.py +0 -278
  26. graphddb_runtime-0.8.0/tests/test_guard_eval.py +0 -146
  27. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/README.md +0 -0
  28. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/__init__.py +0 -0
  29. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/batch.py +0 -0
  30. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/concurrency.py +0 -0
  31. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/cursor.py +0 -0
  32. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/errors.py +0 -0
  33. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/filters.py +0 -0
  34. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/hydration.py +0 -0
  35. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/limits.py +0 -0
  36. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/middleware.py +0 -0
  37. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime/per_key_cursor.py +0 -0
  38. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime.egg-info/dependency_links.txt +0 -0
  39. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/graphddb_runtime.egg-info/top_level.txt +0 -0
  40. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/setup.cfg +0 -0
  41. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_crosslang_python_cells.py +0 -0
  42. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_description.py +0 -0
  43. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_description_followups.py +0 -0
  44. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_description_jsdoc.py +0 -0
  45. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_binding_contract.py +0 -0
  46. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_command.py +0 -0
  47. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_compose.py +0 -0
  48. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_contract.py +0 -0
  49. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_edge_derive.py +0 -0
  50. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_events.py +0 -0
  51. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_maintain.py +0 -0
  52. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_middleware.py +0 -0
  53. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_referential.py +0 -0
  54. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_integration_unique.py +0 -0
  55. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_maintain.py +0 -0
  56. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_middleware.py +0 -0
  57. {graphddb_runtime-0.8.0 → graphddb_runtime-0.9.0}/tests/test_ttl.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphddb-runtime
3
- Version: 0.8.0
3
+ Version: 0.9.0
4
4
  Summary: Thin DynamoDB executor for GraphDDB-generated Python repositories (single-operation core, issue #44).
5
5
  License: MIT
6
6
  Requires-Python: >=3.9
7
7
  Description-Content-Type: text/markdown
8
8
  Requires-Dist: boto3>=1.26
9
- Requires-Dist: behavior-contracts==0.1.3
9
+ Requires-Dist: behavior-contracts==0.2.0
10
10
  Provides-Extra: test
11
11
  Requires-Dist: pytest>=7.0; extra == "test"
12
12
 
@@ -117,6 +117,17 @@ class AsyncGraphDDBRuntime:
117
117
  self.sync.execute_transaction, transaction_id, params, options
118
118
  )
119
119
 
120
+ async def execute_batch_write(
121
+ self,
122
+ transaction_id: str,
123
+ params: Mapping[str, Any],
124
+ options: Optional[Mapping[str, Any]] = None,
125
+ ) -> None:
126
+ """Async wrapper over :meth:`GraphDDBRuntime.execute_batch_write` (#298)."""
127
+ await asyncio.to_thread(
128
+ self.sync.execute_batch_write, transaction_id, params, options
129
+ )
130
+
120
131
  async def explain(self, query_id: str, params: Mapping[str, Any]) -> dict:
121
132
  # `explain` does not touch DynamoDB, but keeping it on the async surface
122
133
  # lets call sites use one runtime object uniformly.