PyAlgoEngine 0.7.6.post1__tar.gz → 0.7.6.post2__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.
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/PKG-INFO +1 -1
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/PyAlgoEngine.egg-info/PKG-INFO +1 -1
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/__init__.py +1 -1
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/client.py +15 -6
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/LICENSE +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/PyAlgoEngine.egg-info/SOURCES.txt +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/PyAlgoEngine.egg-info/dependency_links.txt +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/PyAlgoEngine.egg-info/requires.txt +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/PyAlgoEngine.egg-info/top_level.txt +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/README.md +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/backtest/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/backtest/doc_server.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/backtest/tester.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/backtest/web_app.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/bokeh_server.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/demo/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/demo/test.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/sim_keyboard.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/sim_mouse.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/window.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/backtest/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/backtest/__main__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/backtest/metrics.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/backtest/replay.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/backtest/sim_match.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/console_utils.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/finance_decimal.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/market_buffer.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/market_utils.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/market_utils_nt.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/market_utils_posix.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/technical_analysis.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/telemetrics.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/trade_utils.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/engine/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/engine/algo_engine.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/engine/event_engine.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/engine/market_engine.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/engine/trade_engine.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/monitor/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/monitor/advanced_data_interface.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/profile/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/profile/cn.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/strategy/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/strategy/strategy_engine.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/utils/__init__.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/utils/commit_regularizer.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/utils/data_utils.py +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/setup.cfg +0 -0
- {pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/setup.py +0 -0
|
@@ -90,9 +90,6 @@ class AutoWorkClient(object, metaclass=abc.ABCMeta):
|
|
|
90
90
|
|
|
91
91
|
self.actions: dict[int, list[Action]] = {}
|
|
92
92
|
|
|
93
|
-
# self.style = ttk.Style()
|
|
94
|
-
# self.style.theme_use("vista") # Choose a modern theme like 'clam', 'vista', or 'alt'
|
|
95
|
-
|
|
96
93
|
@abc.abstractmethod
|
|
97
94
|
def listen_signal(self) -> int:
|
|
98
95
|
...
|
|
@@ -124,10 +121,17 @@ class AutoWorkClient(object, metaclass=abc.ABCMeta):
|
|
|
124
121
|
self.update_table(actions)
|
|
125
122
|
|
|
126
123
|
for action_idx, action in enumerate(actions):
|
|
124
|
+
if not self.running:
|
|
125
|
+
break
|
|
126
|
+
|
|
127
127
|
# Update action status to "Executing"
|
|
128
128
|
self.update_status(parent_id=action_idx, status="Executing")
|
|
129
|
+
action_done = False
|
|
129
130
|
|
|
130
131
|
for step_idx, step in enumerate(action.steps):
|
|
132
|
+
if not self.running:
|
|
133
|
+
break
|
|
134
|
+
|
|
131
135
|
# Update step status to "Executing"
|
|
132
136
|
self.update_status(parent_id=action_idx, child_id=step_idx, status="Executing")
|
|
133
137
|
|
|
@@ -136,9 +140,13 @@ class AutoWorkClient(object, metaclass=abc.ABCMeta):
|
|
|
136
140
|
|
|
137
141
|
# Mark step as "Done"
|
|
138
142
|
self.update_status(parent_id=action_idx, child_id=step_idx, status="Done")
|
|
143
|
+
else:
|
|
144
|
+
# Mark action as "Done" after all steps
|
|
145
|
+
self.update_status(parent_id=action_idx, status="Done")
|
|
146
|
+
action_done = True
|
|
139
147
|
|
|
140
|
-
|
|
141
|
-
|
|
148
|
+
if not action_done:
|
|
149
|
+
self.update_status(parent_id=action_idx, status="Stopped")
|
|
142
150
|
|
|
143
151
|
def update_table(self, actions: list[Action]):
|
|
144
152
|
"""Render the table based on the provided actions."""
|
|
@@ -241,4 +249,5 @@ def main():
|
|
|
241
249
|
|
|
242
250
|
|
|
243
251
|
if __name__ == "__main__":
|
|
244
|
-
main
|
|
252
|
+
t = threading.Thread(target=main, daemon=False)
|
|
253
|
+
t.start()
|
|
File without changes
|
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/PyAlgoEngine.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/backtest/doc_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/__init__.py
RENAMED
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/sim_keyboard.py
RENAMED
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/apps/sim_input/sim_mouse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/market_utils_posix.py
RENAMED
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/base/technical_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/monitor/advanced_data_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/strategy/strategy_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyalgoengine-0.7.6.post1 → pyalgoengine-0.7.6.post2}/algo_engine/utils/commit_regularizer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|