forexsmartbot 3.2.2__tar.gz → 3.2.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 (144) hide show
  1. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/PKG-INFO +27 -3
  2. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/README.md +5 -0
  3. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/__init__.py +30 -17
  4. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/backtest_dialog.py +334 -134
  5. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/tradingview_chart.py +4 -1
  6. forexsmartbot-3.2.4/forexsmartbot/utils/backtest_utils.py +12 -0
  7. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/gpu_utils.py +45 -35
  8. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/PKG-INFO +27 -3
  9. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/SOURCES.txt +2 -0
  10. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/requires.txt +25 -2
  11. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/pyproject.toml +26 -3
  12. forexsmartbot-3.2.4/tests/test_backtest_dialog_ui.py +11 -0
  13. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/LICENSE +0 -0
  14. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/__init__.py +0 -0
  15. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/__init__.py +0 -0
  16. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/__init__.py +0 -0
  17. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/ib_tws_broker.py +0 -0
  18. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/mt4_broker.py +0 -0
  19. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/paper_broker.py +0 -0
  20. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/rest_broker.py +0 -0
  21. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/__init__.py +0 -0
  22. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/alpha_vantage_provider.py +0 -0
  23. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/config.py +0 -0
  24. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/csv_provider.py +0 -0
  25. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/dummy_provider.py +0 -0
  26. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/mt4_provider.py +0 -0
  27. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/multi_provider.py +0 -0
  28. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/oanda_provider.py +0 -0
  29. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/stooq_provider.py +0 -0
  30. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/twelve_data_provider.py +0 -0
  31. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/yfinance_provider.py +0 -0
  32. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/__init__.py +0 -0
  33. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/chart_patterns.py +0 -0
  34. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/correlation_matrix.py +0 -0
  35. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/economic_calendar.py +0 -0
  36. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/enhanced_chart.py +0 -0
  37. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/live_metrics.py +0 -0
  38. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/market_depth.py +0 -0
  39. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/performance_attribution.py +0 -0
  40. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/portfolio_analytics.py +0 -0
  41. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/risk_analytics.py +0 -0
  42. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/strategy_comparison.py +0 -0
  43. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/trade_journal.py +0 -0
  44. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/brokers/mt4_bridge.py +0 -0
  45. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/__init__.py +0 -0
  46. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/code_generator.py +0 -0
  47. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/strategy_builder.py +0 -0
  48. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/strategy_template.py +0 -0
  49. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/__init__.py +0 -0
  50. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/api_client.py +0 -0
  51. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/api_server.py +0 -0
  52. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/cloud_sync.py +0 -0
  53. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/error_handler.py +0 -0
  54. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/mobile_api.py +0 -0
  55. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/remote_monitor.py +0 -0
  56. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/security.py +0 -0
  57. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/backtester.py +0 -0
  58. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/config.py +0 -0
  59. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/interfaces.py +0 -0
  60. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/paper_broker.py +0 -0
  61. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/portfolio.py +0 -0
  62. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/risk.py +0 -0
  63. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/risk_engine.py +0 -0
  64. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/strategy.py +0 -0
  65. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/trade_manager.py +0 -0
  66. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/gui/main_window.py +0 -0
  67. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/gui/theme.py +0 -0
  68. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/marketplace/__init__.py +0 -0
  69. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/marketplace/marketplace.py +0 -0
  70. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/marketplace/strategy_rating.py +0 -0
  71. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/__init__.py +0 -0
  72. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/health_check.py +0 -0
  73. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/performance_tracker.py +0 -0
  74. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/strategy_monitor.py +0 -0
  75. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/__init__.py +0 -0
  76. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/adaptive_parameters.py +0 -0
  77. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/genetic_optimizer.py +0 -0
  78. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/hyperparameter_optimizer.py +0 -0
  79. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/monte_carlo.py +0 -0
  80. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/multi_objective_optimizer.py +0 -0
  81. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/parameter_sensitivity.py +0 -0
  82. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/walk_forward.py +0 -0
  83. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/__init__.py +0 -0
  84. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/backtest.py +0 -0
  85. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/calculation_engine.py +0 -0
  86. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/controller.py +0 -0
  87. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/data_streaming.py +0 -0
  88. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/enhanced_backtest.py +0 -0
  89. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/fast_trading_controller.py +0 -0
  90. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/gpu_backtest.py +0 -0
  91. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/language_manager.py +0 -0
  92. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/notification_service.py +0 -0
  93. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/persistence.py +0 -0
  94. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/startup_manager.py +0 -0
  95. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/adaptive_trend_flow.py +0 -0
  96. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/breakout_atr.py +0 -0
  97. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/ensemble_ml_strategy.py +0 -0
  98. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/fear_index.py +0 -0
  99. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/lstm_strategy.py +0 -0
  100. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/mean_reversion.py +0 -0
  101. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/ml_adaptive_supertrend.py +0 -0
  102. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/momentum_breakout.py +0 -0
  103. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/multi_timeframe_strategy.py +0 -0
  104. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/news_trading.py +0 -0
  105. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/rl_strategy.py +0 -0
  106. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/rsi_reversion.py +0 -0
  107. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/scalping_ma.py +0 -0
  108. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/sma_crossover.py +0 -0
  109. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/svm_strategy.py +0 -0
  110. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/transformer_strategy.py +0 -0
  111. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/__init__.py +0 -0
  112. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/ci_cd_pipeline.py +0 -0
  113. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/paper_account_tester.py +0 -0
  114. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/strategy_sandbox.py +0 -0
  115. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/__init__.py +0 -0
  116. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/analytics_dialog.py +0 -0
  117. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/analytics_widget.py +0 -0
  118. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/charts.py +0 -0
  119. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/cloud_dialog.py +0 -0
  120. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/enhanced_charts.py +0 -0
  121. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/enhanced_main_window.py +0 -0
  122. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/export_dialog.py +0 -0
  123. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/main_window.py +0 -0
  124. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/marketplace_dialog.py +0 -0
  125. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/monitoring_dialog.py +0 -0
  126. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/monitoring_widget.py +0 -0
  127. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/optimization_dialog.py +0 -0
  128. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/settings_dialog.py +0 -0
  129. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/simple_chart.py +0 -0
  130. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/strategy_builder_dialog.py +0 -0
  131. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/theme.py +0 -0
  132. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/__init__.py +0 -0
  133. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/gpu_numpy.py +0 -0
  134. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/native_indicators.py +0 -0
  135. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/dependency_links.txt +0 -0
  136. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/entry_points.txt +0 -0
  137. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/top_level.txt +0 -0
  138. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/setup.cfg +0 -0
  139. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_config.py +0 -0
  140. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_live_metrics.py +0 -0
  141. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_multi_timeframe_strategy.py +0 -0
  142. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_native_indicators.py +0 -0
  143. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_risk.py +0 -0
  144. {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_strategies.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forexsmartbot
3
- Version: 3.2.2
3
+ Version: 3.2.4
4
4
  Summary: Professional forex trading bot with advanced risk management and strategy plugins
5
5
  Author-email: VoxHash <contact@voxhash.dev>
6
6
  License: MIT
@@ -26,11 +26,30 @@ Requires-Dist: pyzmq>=26.0.0
26
26
  Requires-Dist: matplotlib>=3.9.0
27
27
  Requires-Dist: darkdetect>=0.8.0
28
28
  Requires-Dist: scikit-learn>=1.3.0
29
- Requires-Dist: mplfinance>=0.12.10
30
- Requires-Dist: TA-Lib>=0.6.7
29
+ Requires-Dist: mplfinance>=0.12.10b0
31
30
  Requires-Dist: requests>=2.31.0
32
31
  Requires-Dist: ib-insync>=0.9.86
32
+ Requires-Dist: scipy>=1.11.0
33
+ Requires-Dist: optuna>=3.4.0
34
+ Requires-Dist: deap>=1.4.1
33
35
  Requires-Dist: win10toast>=0.9; sys_platform == "win32"
36
+ Provides-Extra: talib
37
+ Requires-Dist: TA-Lib>=0.6.7; extra == "talib"
38
+ Provides-Extra: ml
39
+ Requires-Dist: tensorflow>=2.15.0; extra == "ml"
40
+ Requires-Dist: torch>=2.1.0; extra == "ml"
41
+ Requires-Dist: transformers>=4.35.0; extra == "ml"
42
+ Requires-Dist: gymnasium>=0.29.0; extra == "ml"
43
+ Requires-Dist: stable-baselines3>=2.2.0; extra == "ml"
44
+ Requires-Dist: numba>=0.59.0; extra == "ml"
45
+ Provides-Extra: remote
46
+ Requires-Dist: flask>=3.0.0; extra == "remote"
47
+ Requires-Dist: flask-cors>=4.0.0; extra == "remote"
48
+ Requires-Dist: flask-limiter>=3.5.0; extra == "remote"
49
+ Requires-Dist: websockets>=12.0; extra == "remote"
50
+ Requires-Dist: pyjwt>=2.8.0; extra == "remote"
51
+ Provides-Extra: full
52
+ Requires-Dist: forexsmartbot[ml,remote,talib]; extra == "full"
34
53
  Provides-Extra: dev
35
54
  Requires-Dist: pytest>=7.0.0; extra == "dev"
36
55
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
@@ -111,7 +130,12 @@ pip install -r requirements.txt
111
130
  python app.py
112
131
  ```
113
132
 
133
+ Optional TA-Lib / deep-learning / remote API stack:
114
134
 
135
+ ```bash
136
+ pip install -r requirements-optional.txt
137
+ # or: pip install "forexsmartbot[talib,ml,remote]"
138
+ ```
115
139
 
116
140
  ### With GPU Acceleration (Optional)
117
141
 
@@ -69,7 +69,12 @@ pip install -r requirements.txt
69
69
  python app.py
70
70
  ```
71
71
 
72
+ Optional TA-Lib / deep-learning / remote API stack:
72
73
 
74
+ ```bash
75
+ pip install -r requirements-optional.txt
76
+ # or: pip install "forexsmartbot[talib,ml,remote]"
77
+ ```
73
78
 
74
79
  ### With GPU Acceleration (Optional)
75
80
 
@@ -12,15 +12,26 @@ from .news_trading import NewsTrading
12
12
  from .fear_index import FearIndexStrategy
13
13
 
14
14
  # New ML Strategies
15
- # Use broad exception handling to catch DLL loading errors on Windows
16
- try:
17
- from .lstm_strategy import LSTMStrategy
18
- LSTM_AVAILABLE = True
19
- except (ImportError, OSError, RuntimeError) as e:
20
- LSTM_AVAILABLE = False
21
- LSTMStrategy = None
22
- import warnings
23
- warnings.warn(f"LSTM strategy not available: {e}")
15
+ # Use broad exception handling to catch DLL loading errors on Windows.
16
+ # FSB_SKIP_HEAVY_ML skips TensorFlow/torch-backed strategies (CI/CPU runners).
17
+ import os as _os
18
+
19
+ _SKIP_HEAVY_ML = _os.environ.get("FSB_SKIP_HEAVY_ML", "").strip().lower() in (
20
+ "1",
21
+ "true",
22
+ "yes",
23
+ )
24
+
25
+ LSTM_AVAILABLE = False
26
+ LSTMStrategy = None
27
+ if not _SKIP_HEAVY_ML:
28
+ try:
29
+ from .lstm_strategy import LSTMStrategy
30
+ LSTM_AVAILABLE = True
31
+ except (ImportError, OSError, RuntimeError) as e:
32
+ LSTMStrategy = None
33
+ import warnings
34
+ warnings.warn(f"LSTM strategy not available: {e}")
24
35
 
25
36
  try:
26
37
  from .svm_strategy import SVMStrategy
@@ -40,14 +51,16 @@ except (ImportError, OSError, RuntimeError) as e:
40
51
  import warnings
41
52
  warnings.warn(f"Ensemble ML strategy not available: {e}")
42
53
 
43
- try:
44
- from .transformer_strategy import TransformerStrategy
45
- TRANSFORMER_AVAILABLE = True
46
- except (ImportError, OSError, RuntimeError) as e:
47
- TRANSFORMER_AVAILABLE = False
48
- TransformerStrategy = None
49
- import warnings
50
- warnings.warn(f"Transformer strategy not available: {e}")
54
+ TRANSFORMER_AVAILABLE = False
55
+ TransformerStrategy = None
56
+ if not _SKIP_HEAVY_ML:
57
+ try:
58
+ from .transformer_strategy import TransformerStrategy
59
+ TRANSFORMER_AVAILABLE = True
60
+ except (ImportError, OSError, RuntimeError) as e:
61
+ TransformerStrategy = None
62
+ import warnings
63
+ warnings.warn(f"Transformer strategy not available: {e}")
51
64
 
52
65
  try:
53
66
  from .rl_strategy import RLStrategy