optio-core 0.2.2__tar.gz → 0.2.3__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 (63) hide show
  1. {optio_core-0.2.2/src/optio_core.egg-info → optio_core-0.2.3}/PKG-INFO +1 -1
  2. {optio_core-0.2.2 → optio_core-0.2.3}/pyproject.toml +1 -1
  3. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/__init__.py +4 -3
  4. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/lifecycle.py +4 -2
  5. {optio_core-0.2.2 → optio_core-0.2.3/src/optio_core.egg-info}/PKG-INFO +1 -1
  6. {optio_core-0.2.2 → optio_core-0.2.3}/LICENSE +0 -0
  7. {optio_core-0.2.2 → optio_core-0.2.3}/README.md +0 -0
  8. {optio_core-0.2.2 → optio_core-0.2.3}/setup.cfg +0 -0
  9. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/_engine_service.py +0 -0
  10. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/_force_cancel.py +0 -0
  11. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/_generated/optio_engine.py +0 -0
  12. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/_launch_block_store.py +0 -0
  13. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/context.py +0 -0
  14. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/exceptions.py +0 -0
  15. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/executor.py +0 -0
  16. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/migrations/__init__.py +0 -0
  17. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/migrations/m001_status_subdocument.py +0 -0
  18. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/migrations/m002_backfill_child_metadata.py +0 -0
  19. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/migrations/m003_backfill_has_saved_state.py +0 -0
  20. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/migrations/m004_create_expire_at_ttl_index.py +0 -0
  21. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/models.py +0 -0
  22. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/progress_helpers.py +0 -0
  23. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/scheduler.py +0 -0
  24. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/state_machine.py +0 -0
  25. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core/store.py +0 -0
  26. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core.egg-info/SOURCES.txt +0 -0
  27. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core.egg-info/dependency_links.txt +0 -0
  28. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core.egg-info/requires.txt +0 -0
  29. {optio_core-0.2.2 → optio_core-0.2.3}/src/optio_core.egg-info/top_level.txt +0 -0
  30. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_cancel_propagation.py +0 -0
  31. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_cancel_race_parent_overwrite.py +0 -0
  32. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_child_failure_cancel_distinction.py +0 -0
  33. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_child_failure_structured.py +0 -0
  34. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_child_progress.py +0 -0
  35. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_client_directed_events.py +0 -0
  36. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_context_blob.py +0 -0
  37. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_context_resume.py +0 -0
  38. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_deadline_cancel.py +0 -0
  39. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_deadline_cancel_launchguard.py +0 -0
  40. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_engine_service.py +0 -0
  41. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_engine_service_resolve.py +0 -0
  42. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_executor.py +0 -0
  43. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_group_cancel.py +0 -0
  44. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_group_cancel_purge.py +0 -0
  45. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_heartbeat.py +0 -0
  46. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_launch_guard.py +0 -0
  47. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_lifecycle_reconciliation.py +0 -0
  48. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_migration_m003.py +0 -0
  49. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_migration_m004.py +0 -0
  50. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_models.py +0 -0
  51. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_no_redis.py +0 -0
  52. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_outcomes.py +0 -0
  53. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_parallel.py +0 -0
  54. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_persistent_launch_blocks.py +0 -0
  55. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_progress_helpers.py +0 -0
  56. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_progress_throttle.py +0 -0
  57. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_resync.py +0 -0
  58. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_resync_cancel_stale.py +0 -0
  59. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_scheduler.py +0 -0
  60. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_state_machine.py +0 -0
  61. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_store.py +0 -0
  62. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_task_ttl.py +0 -0
  63. {optio_core-0.2.2 → optio_core-0.2.3}/tests/test_widget_primitives.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optio-core
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Reusable async process management library
5
5
  Author-email: Kristof Csillag <kristof.csillag@deai-labs.com>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "optio-core"
7
- version = "0.2.2"
7
+ version = "0.2.3"
8
8
  description = "Reusable async process management library"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -34,7 +34,7 @@ __all__ = [
34
34
  "get_process", "list_processes",
35
35
  "block_launches", "unblock_launches",
36
36
  "group_cancel", "group_cancel_and_wait",
37
- "rpc_server", "store", "MongoStore",
37
+ "rpc_server", "mongo_store", "MongoStore",
38
38
  ]
39
39
 
40
40
 
@@ -47,7 +47,8 @@ def __getattr__(name: str):
47
47
  """
48
48
  if name == "rpc_server":
49
49
  return _instance.rpc_server
50
- if name == "store":
50
+ if name == "mongo_store":
51
51
  # Runtime-populated: the (db, prefix) binding only exists after init().
52
- return _instance.store
52
+ # NB: not "store" — that name is the optio_core.store submodule.
53
+ return _instance.mongo_store
53
54
  raise AttributeError(f"module 'optio_core' has no attribute {name!r}")
@@ -87,15 +87,17 @@ class Optio:
87
87
  self._launch_blocks: dict[uuid.UUID, _BlockEntry] = {}
88
88
 
89
89
  @property
90
- def store(self) -> MongoStore:
90
+ def mongo_store(self) -> MongoStore:
91
91
  """The (db, prefix) binding this instance was initialized with.
92
92
 
93
+ Named ``mongo_store`` (not ``store``) because ``optio_core.store`` is a
94
+ submodule — a module-level ``store`` attribute would be shadowed by it.
93
95
  Hand it as-is to helpers that need db+prefix (e.g.
94
96
  ``optio_claudecode.delete_seed``) instead of re-deriving the prefix
95
97
  from your own config. Raises if accessed before ``init()``.
96
98
  """
97
99
  if self._config is None:
98
- raise RuntimeError("optio.store accessed before init()")
100
+ raise RuntimeError("optio.mongo_store accessed before init()")
99
101
  return MongoStore(db=self._config.mongo_db, prefix=self._config.prefix)
100
102
 
101
103
  async def init(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optio-core
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Reusable async process management library
5
5
  Author-email: Kristof Csillag <kristof.csillag@deai-labs.com>
6
6
  License-Expression: Apache-2.0
File without changes
File without changes
File without changes