PyAlgoEngine 0.7.7a3__tar.gz → 0.7.7a4__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.7a3 → pyalgoengine-0.7.7a4}/PKG-INFO +1 -1
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/PyAlgoEngine.egg-info/PKG-INFO +1 -1
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/__init__.py +1 -1
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/sim_input/client.py +25 -7
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/LICENSE +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/PyAlgoEngine.egg-info/SOURCES.txt +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/PyAlgoEngine.egg-info/dependency_links.txt +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/PyAlgoEngine.egg-info/requires.txt +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/PyAlgoEngine.egg-info/top_level.txt +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/README.md +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/backtest/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/backtest/doc_server.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/backtest/tester.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/backtest/web_app.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/bokeh_server.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/demo/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/demo/test.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/sim_input/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/sim_input/sim_keyboard.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/sim_input/sim_mouse.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/apps/sim_input/window.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/backtest/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/backtest/__main__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/backtest/metrics.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/backtest/replay.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/backtest/sim_match.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/console_utils.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/finance_decimal.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/market_buffer.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/market_utils.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/market_utils_nt.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/market_utils_posix.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/technical_analysis.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/telemetrics.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/base/trade_utils.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/engine/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/engine/algo_engine.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/engine/event_engine.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/engine/market_engine.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/engine/trade_engine.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/monitor/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/monitor/advanced_data_interface.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/profile/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/profile/cn.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/strategy/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/strategy/strategy_engine.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/utils/__init__.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/utils/commit_regularizer.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/algo_engine/utils/data_utils.py +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/setup.cfg +0 -0
- {pyalgoengine-0.7.7a3 → pyalgoengine-0.7.7a4}/setup.py +0 -0
|
@@ -25,7 +25,7 @@ class Action(object):
|
|
|
25
25
|
self.name = name
|
|
26
26
|
self.steps: list[Action.Step] = []
|
|
27
27
|
|
|
28
|
-
def append(self, name: str, action: Callable
|
|
28
|
+
def append(self, name: str, action: Callable, args=None, kwargs=None, comments: str = None) -> None:
|
|
29
29
|
step = Action.Step(name=name, procedure=action)
|
|
30
30
|
|
|
31
31
|
if args is not None:
|
|
@@ -172,6 +172,9 @@ class AutoWorkClient(object, metaclass=abc.ABCMeta):
|
|
|
172
172
|
# Simulate delay between steps
|
|
173
173
|
|
|
174
174
|
# Wait 3 seconds, then close the test ground and restore the client window
|
|
175
|
+
input_history.insert("end", "-" * 50)
|
|
176
|
+
input_history.insert("active", f"Mocking {action.name} Completed! Exiting in {timeout} seconds...")
|
|
177
|
+
|
|
175
178
|
time.sleep(timeout)
|
|
176
179
|
testground.destroy()
|
|
177
180
|
self.root.deiconify()
|
|
@@ -179,13 +182,27 @@ class AutoWorkClient(object, metaclass=abc.ABCMeta):
|
|
|
179
182
|
def toggle_auto_work(self):
|
|
180
183
|
"""Toggle the daemon thread to start or stop auto work."""
|
|
181
184
|
if not self.running:
|
|
182
|
-
self.
|
|
183
|
-
self.layout['button_takeover'].config(text="Release Control")
|
|
184
|
-
self.worker_thread = Thread(target=self.auto_work, daemon=True)
|
|
185
|
-
self.worker_thread.start()
|
|
185
|
+
self.takeover_control()
|
|
186
186
|
else:
|
|
187
|
-
self.
|
|
188
|
-
|
|
187
|
+
self.release_control()
|
|
188
|
+
|
|
189
|
+
def takeover_control(self):
|
|
190
|
+
if self.running:
|
|
191
|
+
LOGGER.info('Autoworker already running!')
|
|
192
|
+
return
|
|
193
|
+
|
|
194
|
+
self.running = True
|
|
195
|
+
self.layout['button_takeover'].config(text="Release Control")
|
|
196
|
+
self.worker_thread = Thread(target=self.auto_work, daemon=True)
|
|
197
|
+
self.worker_thread.start()
|
|
198
|
+
|
|
199
|
+
def release_control(self):
|
|
200
|
+
if not self.running:
|
|
201
|
+
LOGGER.info('Autoworker already stopped!')
|
|
202
|
+
return
|
|
203
|
+
|
|
204
|
+
self.running = False
|
|
205
|
+
self.layout['button_takeover'].config(text="Takeover Input")
|
|
189
206
|
|
|
190
207
|
def toggle_mock(self):
|
|
191
208
|
"""Mock the action selected in the dropdown."""
|
|
@@ -342,6 +359,7 @@ class AutoWorkClient(object, metaclass=abc.ABCMeta):
|
|
|
342
359
|
|
|
343
360
|
testground.bind("<Escape>", exit_record)
|
|
344
361
|
|
|
362
|
+
|
|
345
363
|
class ExampleClient(AutoWorkClient):
|
|
346
364
|
"""An example implementation of the AutoWorkClient."""
|
|
347
365
|
dummy_signal = 0
|
|
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
|
|
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
|
|
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.7a3 → pyalgoengine-0.7.7a4}/algo_engine/monitor/advanced_data_interface.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
|