PyAlgoEngine 0.7.6.post6__tar.gz → 0.7.6.post7__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 (53) hide show
  1. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/PKG-INFO +1 -1
  2. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/PyAlgoEngine.egg-info/PKG-INFO +1 -1
  3. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/__init__.py +1 -1
  4. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/engine/__init__.py +3 -3
  5. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/engine/algo_engine.py +3 -5
  6. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/LICENSE +0 -0
  7. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/PyAlgoEngine.egg-info/SOURCES.txt +0 -0
  8. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/PyAlgoEngine.egg-info/dependency_links.txt +0 -0
  9. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/PyAlgoEngine.egg-info/requires.txt +0 -0
  10. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/PyAlgoEngine.egg-info/top_level.txt +0 -0
  11. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/README.md +0 -0
  12. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/__init__.py +0 -0
  13. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/backtest/__init__.py +0 -0
  14. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/backtest/doc_server.py +0 -0
  15. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/backtest/tester.py +0 -0
  16. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/backtest/web_app.py +0 -0
  17. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/bokeh_server.py +0 -0
  18. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/demo/__init__.py +0 -0
  19. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/demo/test.py +0 -0
  20. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/sim_input/__init__.py +0 -0
  21. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/sim_input/client.py +0 -0
  22. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/sim_input/sim_keyboard.py +0 -0
  23. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/sim_input/sim_mouse.py +0 -0
  24. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/apps/sim_input/window.py +0 -0
  25. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/backtest/__init__.py +0 -0
  26. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/backtest/__main__.py +0 -0
  27. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/backtest/metrics.py +0 -0
  28. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/backtest/replay.py +0 -0
  29. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/backtest/sim_match.py +0 -0
  30. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/__init__.py +0 -0
  31. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/console_utils.py +0 -0
  32. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/finance_decimal.py +0 -0
  33. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/market_buffer.py +0 -0
  34. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/market_utils.py +0 -0
  35. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/market_utils_nt.py +0 -0
  36. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/market_utils_posix.py +0 -0
  37. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/technical_analysis.py +0 -0
  38. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/telemetrics.py +0 -0
  39. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/base/trade_utils.py +0 -0
  40. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/engine/event_engine.py +0 -0
  41. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/engine/market_engine.py +0 -0
  42. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/engine/trade_engine.py +0 -0
  43. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/monitor/__init__.py +0 -0
  44. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/monitor/advanced_data_interface.py +0 -0
  45. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/profile/__init__.py +0 -0
  46. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/profile/cn.py +0 -0
  47. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/strategy/__init__.py +0 -0
  48. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/strategy/strategy_engine.py +0 -0
  49. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/utils/__init__.py +0 -0
  50. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/utils/commit_regularizer.py +0 -0
  51. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/algo_engine/utils/data_utils.py +0 -0
  52. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/setup.cfg +0 -0
  53. {pyalgoengine-0.7.6.post6 → pyalgoengine-0.7.6.post7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyAlgoEngine
3
- Version: 0.7.6.post6
3
+ Version: 0.7.6.post7
4
4
  Summary: Basic algo engine
5
5
  Home-page: https://github.com/BolunHan/PyAlgoEngine
6
6
  Author: Bolun.Han
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyAlgoEngine
3
- Version: 0.7.6.post6
3
+ Version: 0.7.6.post7
4
4
  Summary: Basic algo engine
5
5
  Home-page: https://github.com/BolunHan/PyAlgoEngine
6
6
  Author: Bolun.Han
@@ -1,4 +1,4 @@
1
- __version__ = "0.7.6.post6"
1
+ __version__ = "0.7.6.post7"
2
2
 
3
3
  import logging
4
4
  import os
@@ -17,12 +17,12 @@ def set_logger(logger: logging.Logger):
17
17
  trade_engine.LOGGER = logger.getChild('TradeEngine')
18
18
 
19
19
 
20
- from .algo_engine import AlgoTemplate, ALGO_ENGINE, ALGO_REGISTRY
21
20
  from .event_engine import EVENT_ENGINE, TOPIC
22
- from .market_engine import MDS, MarketDataService, MarketDataMonitor, MonitorManager
21
+ from .market_engine import MDS, MarketDataService, MarketDataMonitor, MonitorManager, Singleton
22
+ from .algo_engine import AlgoTemplate, ALGO_ENGINE, ALGO_REGISTRY
23
23
  from .trade_engine import DirectMarketAccess, Balance, PositionManagementService, Inventory, RiskProfile
24
24
 
25
25
  __all__ = ['EVENT_ENGINE', 'TOPIC',
26
26
  'AlgoTemplate', 'ALGO_ENGINE', 'ALGO_REGISTRY',
27
- 'MDS', 'MarketDataService', 'MarketDataMonitor', 'MonitorManager',
27
+ 'MDS', 'MarketDataService', 'MarketDataMonitor', 'MonitorManager', 'Singleton',
28
28
  'DirectMarketAccess', 'Balance', 'PositionManagementService', 'Inventory', 'RiskProfile']
@@ -10,7 +10,7 @@ from typing import Type, TYPE_CHECKING
10
10
  import numpy as np
11
11
 
12
12
  from . import LOGGER
13
- from .market_engine import MDS
13
+ from .market_engine import MDS, Singleton
14
14
  from ..base import TransactionSide, TradeInstruction, MarketData, TradeReport, OrderState, OrderType
15
15
 
16
16
  LOGGER = LOGGER.getChild('AlgoEngine')
@@ -712,7 +712,7 @@ class AggressiveTimeout(PassiveTimeout, Aggressive):
712
712
  return Aggressive._canceled(self=self, order=order, **kwargs)
713
713
 
714
714
 
715
- class AlgoEngine(object):
715
+ class AlgoEngine(object, metaclass=Singleton):
716
716
  def __init__(self, mds=None, registry=None):
717
717
  self.mds = mds if mds is not None else MDS
718
718
  self.registry = registry if registry is not None else ALGO_REGISTRY
@@ -837,7 +837,7 @@ class AlgoEngine(object):
837
837
  return algo
838
838
 
839
839
 
840
- class AlgoRegistry(object):
840
+ class AlgoRegistry(object, metaclass=Singleton):
841
841
  """
842
842
  registry for trade algos
843
843
 
@@ -847,8 +847,6 @@ class AlgoRegistry(object):
847
847
  """
848
848
 
849
849
  def __init__(self):
850
- super().__init__()
851
-
852
850
  self.alias = {}
853
851
  self.registry = {}
854
852