programgarden 2.5.3__tar.gz → 2.5.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 (66) hide show
  1. {programgarden-2.5.3 → programgarden-2.5.4}/PKG-INFO +1 -1
  2. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/execution_storage.py +2 -1
  3. {programgarden-2.5.3 → programgarden-2.5.4}/pyproject.toml +1 -1
  4. {programgarden-2.5.3 → programgarden-2.5.4}/README.md +0 -0
  5. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/__init__.py +0 -0
  6. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/binding_validator.py +0 -0
  7. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/client.py +0 -0
  8. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/code_worker.py +0 -0
  9. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/context.py +0 -0
  10. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/__init__.py +0 -0
  11. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/adjustment_delivery.py +0 -0
  12. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/broker_evidence.py +0 -0
  13. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/broker_order_totals.py +0 -0
  14. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/broker_snapshot.py +0 -0
  15. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/checkpoint_manager.py +0 -0
  16. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/db_naming.py +0 -0
  17. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/fill_reconciler.py +0 -0
  18. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/order_cancellation.py +0 -0
  19. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/order_recovery.py +0 -0
  20. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/owned_order_cancellation.py +0 -0
  21. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/position_reconciliation.py +0 -0
  22. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/query_builder.py +0 -0
  23. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/workflow_position_tracker.py +0 -0
  24. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/database/workflow_risk_tracker.py +0 -0
  25. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/deep_fixtures.py +0 -0
  26. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/executor.py +0 -0
  27. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/futures_orderable.py +0 -0
  28. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/futures_pnl.py +0 -0
  29. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/futures_read_evidence.py +0 -0
  30. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/incremental_build.py +0 -0
  31. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/managed_order_control.py +0 -0
  32. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/node_runner.py +0 -0
  33. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/order_lifecycle.py +0 -0
  34. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/plugin/__init__.py +0 -0
  35. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/plugin/sandbox.py +0 -0
  36. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/providers/__init__.py +0 -0
  37. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/providers/llm_errors.py +0 -0
  38. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/providers/llm_provider.py +0 -0
  39. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/reconnect_handler.py +0 -0
  40. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_contracts.py +0 -0
  41. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_events.py +0 -0
  42. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_external.py +0 -0
  43. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_order_adapter.py +0 -0
  44. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_orders.py +0 -0
  45. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_scenarios.py +0 -0
  46. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_semantics.py +0 -0
  47. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_sources.py +0 -0
  48. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_sqlite.py +0 -0
  49. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/replay_triggers.py +0 -0
  50. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/resolver.py +0 -0
  51. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/resource/__init__.py +0 -0
  52. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/resource/context.py +0 -0
  53. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/resource/limiter.py +0 -0
  54. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/resource/monitor.py +0 -0
  55. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/resource/throttle.py +0 -0
  56. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/semantic_rules.py +0 -0
  57. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/tools/__init__.py +0 -0
  58. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/tools/credential_tools.py +0 -0
  59. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/tools/definition_tools.py +0 -0
  60. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/tools/event_tools.py +0 -0
  61. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/tools/job_tools.py +0 -0
  62. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/tools/registry_tools.py +0 -0
  63. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/tools/sqlite_tools.py +0 -0
  64. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/validation_recommender.py +0 -0
  65. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/validation_replay.py +0 -0
  66. {programgarden-2.5.3 → programgarden-2.5.4}/programgarden/valuation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: programgarden
3
- Version: 2.5.3
3
+ Version: 2.5.4
4
4
  Summary: ProgramGarden - 노드 기반 자동매매 DSL 실행 엔진
5
5
  License-Expression: AGPL-3.0-or-later
6
6
  Author: 프로그램동산
@@ -182,7 +182,8 @@ def prepare_execution_storage(data_dir, *, project_id, workflow_id, execution_id
182
182
  dest.execute("INSERT INTO managed_execution_storage VALUES (1, ?, ?, ?)",
183
183
  (project_id, execution_id, source[0].name if source else None))
184
184
  dest.commit()
185
- with temporary.open("rb") as handle:
185
+ # Windows rejects fsync on a read-only descriptor (EBADF); open for writing.
186
+ with temporary.open("r+b") as handle:
186
187
  os.fsync(handle.fileno())
187
188
  os.link(temporary, target) # Exclusive atomic publication, no overwrite.
188
189
  return ExecutionStorageLease(key, target, "adopted" if source else "created", locks)
@@ -5,7 +5,7 @@ authors = [
5
5
  homepage = "https://programgarden.com"
6
6
  requires-python = ">=3.12"
7
7
  name = "programgarden"
8
- version = "2.5.3"
8
+ version = "2.5.4"
9
9
  license = "AGPL-3.0-or-later"
10
10
  description = "ProgramGarden - 노드 기반 자동매매 DSL 실행 엔진"
11
11
  readme = "README.md"
File without changes