bbstrader 2.0.6__tar.gz → 2.0.7__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.
- {bbstrader-2.0.6 → bbstrader-2.0.7}/PKG-INFO +1 -1
- bbstrader-2.0.7/VERSION.txt +1 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/account.py +12 -3
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/copier.py +2 -3
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/trade.py +9 -17
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/metatrader/test_account.py +11 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/uv.lock +92 -137
- bbstrader-2.0.6/VERSION.txt +0 -1
- {bbstrader-2.0.6 → bbstrader-2.0.7}/.clang-format +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/.clang-tidy +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/.github/workflows/build.yml +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/.github/workflows/python.yml +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/.gitignore +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/.readthedocs.yaml +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/CMakeLists.txt +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/LICENSE +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/README.md +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/cmake/Helpers.cmake +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/cmake/Versions.cmake +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/Doxyfile.in +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/Makefile +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/bbstrader.api.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/bbstrader.btengine.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/bbstrader.core.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/bbstrader.metatrader.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/bbstrader.models.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/bbstrader.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/bbstrader.trading.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/conf.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/index.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/make.bat +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/modules.rst +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/docs/requirements.txt +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/examples/strategies.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/include/bbstrader/metatrader.hpp +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/include/bbstrader/objects.hpp +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/pyproject.toml +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/CMakeLists.txt +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/__main__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/api/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/api/client.pyi +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/api/handlers.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/assets/bbs_.png +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/assets/bbstrader.ico +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/assets/bbstrader.png +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/assets/qs_metrics_1.png +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/backtest.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/data.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/event.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/execution.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/performance.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/portfolio.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/btengine/strategy.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/compat.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/config.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/core/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/core/data.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/core/strategy.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/_copier.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/broker.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/rates.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/risk.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/metatrader/utils.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/models/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/models/nlp.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/models/optimization.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/scripts.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/trading/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/trading/execution.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/trading/strategy.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/bbstrader/trading/utils.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/cmake/BbstraderConfig.cmake.in +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/cpp/bbstrader.cpp +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/src/cpp/metatrader.cpp +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tcopier.iss +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tcopier.spec +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/CMakeLists.txt +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/api/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/api/test_metatrader_client.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/btengine/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/btengine/test_backtest.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/btengine/test_data.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/btengine/test_events.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/btengine/test_execution.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/btengine/test_portfolio.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/cpp/test_metatrader_client.cpp +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/metatrader/__init__.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/metatrader/test_rates.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/metatrader/test_risk_management.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/tests/metatrader/test_trade.py +0 -0
- {bbstrader-2.0.6 → bbstrader-2.0.7}/vcpkg.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bbstrader
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.7
|
|
4
4
|
Summary: Simplified Investment & Trading Toolkit with Python & C++
|
|
5
5
|
Keywords: Finance,Toolkit,Financial,Analysis,Fundamental,Quantitative,Database,Equities,Currencies,Economics,ETFs,Funds,Indices,Moneymarkets,Commodities,Futures,CFDs,Derivatives,Trading,Investing,Portfolio,Optimization,Performance
|
|
6
6
|
Author-Email: Bertin Balouki SIMYELI <bertin@bbs-trading.com>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.0.7
|
|
@@ -621,7 +621,11 @@ class Account(object):
|
|
|
621
621
|
drop_cols: List[str],
|
|
622
622
|
time_cols: List[str],
|
|
623
623
|
) -> Any:
|
|
624
|
-
|
|
624
|
+
from zoneinfo import ZoneInfo
|
|
625
|
+
|
|
626
|
+
tz = self.broker.get_terminal_timezone()
|
|
627
|
+
date_to = date_to or datetime.now(tz=ZoneInfo(tz))
|
|
628
|
+
date_from = date_from.astimezone(tz=ZoneInfo(tz))
|
|
625
629
|
|
|
626
630
|
filters = [group, ticket, position]
|
|
627
631
|
if sum(f is not None for f in filters) > 1:
|
|
@@ -734,7 +738,6 @@ class Account(object):
|
|
|
734
738
|
>>> account = Account()
|
|
735
739
|
>>> history = account.get_trades_history(from_date, to_date)
|
|
736
740
|
"""
|
|
737
|
-
|
|
738
741
|
return self._fetch_history(
|
|
739
742
|
fetch_type="deals",
|
|
740
743
|
drop_cols=["time_msc", "external_id"],
|
|
@@ -853,7 +856,13 @@ class Account(object):
|
|
|
853
856
|
Returns:
|
|
854
857
|
List[TradeDeal]: List of today deals
|
|
855
858
|
"""
|
|
856
|
-
|
|
859
|
+
|
|
860
|
+
from datetime import timedelta
|
|
861
|
+
|
|
862
|
+
from_date = datetime.now() - timedelta(days=3)
|
|
863
|
+
history = (
|
|
864
|
+
self.get_trades_history(date_from=from_date, group=group, to_df=False) or []
|
|
865
|
+
)
|
|
857
866
|
positions_ids = set([deal.position_id for deal in history if deal.magic == id])
|
|
858
867
|
today_deals = []
|
|
859
868
|
for position in positions_ids:
|
|
@@ -416,7 +416,6 @@ class TradeCopier(object):
|
|
|
416
416
|
def log_message(
|
|
417
417
|
self, message, type: Literal["info", "error", "debug", "warning"] = "info"
|
|
418
418
|
):
|
|
419
|
-
logger.trace
|
|
420
419
|
if self.log_queue:
|
|
421
420
|
try:
|
|
422
421
|
now = datetime.now()
|
|
@@ -904,7 +903,7 @@ class TradeCopier(object):
|
|
|
904
903
|
|
|
905
904
|
if not orders_actions:
|
|
906
905
|
return
|
|
907
|
-
with cf.
|
|
906
|
+
with cf.ProcessPoolExecutor(max_workers=max_workers) as executor:
|
|
908
907
|
list(executor.map(self._execute_order_action, orders_actions))
|
|
909
908
|
|
|
910
909
|
def _get_new_positions(
|
|
@@ -1031,7 +1030,7 @@ class TradeCopier(object):
|
|
|
1031
1030
|
|
|
1032
1031
|
if not positions_actions:
|
|
1033
1032
|
return
|
|
1034
|
-
with cf.
|
|
1033
|
+
with cf.ProcessPoolExecutor(max_workers=max_workers) as executor:
|
|
1035
1034
|
list(executor.map(self._execute_position_action, positions_actions))
|
|
1036
1035
|
|
|
1037
1036
|
def copy_orders(self, destination: dict):
|
|
@@ -626,7 +626,7 @@ class Trade:
|
|
|
626
626
|
except Exception as e:
|
|
627
627
|
msg = trade_retcode_message(result.retcode) if result else "N/A"
|
|
628
628
|
LOGGER.error(f"Trade Order Request, {msg}{addtionnal}, {e}")
|
|
629
|
-
return
|
|
629
|
+
return False
|
|
630
630
|
if result and result.retcode != Mt5.TRADE_RETCODE_DONE:
|
|
631
631
|
if result.retcode == Mt5.TRADE_RETCODE_INVALID_FILL: # 10030
|
|
632
632
|
for fill in FILLING_TYPE:
|
|
@@ -658,7 +658,7 @@ class Trade:
|
|
|
658
658
|
except Exception as e:
|
|
659
659
|
msg = trade_retcode_message(result.retcode) if result else "N/A"
|
|
660
660
|
LOGGER.error(f"Trade Order Request, {msg}{addtionnal}, {e}")
|
|
661
|
-
return
|
|
661
|
+
return False
|
|
662
662
|
if result and result.retcode == Mt5.TRADE_RETCODE_DONE:
|
|
663
663
|
break
|
|
664
664
|
tries += 1
|
|
@@ -1078,7 +1078,7 @@ class Trade:
|
|
|
1078
1078
|
except Exception as e:
|
|
1079
1079
|
msg = trade_retcode_message(result.retcode) if result else "N/A"
|
|
1080
1080
|
LOGGER.error(f"Break-Even Order Request, {msg}{addtionnal}, Error: {e}")
|
|
1081
|
-
return
|
|
1081
|
+
return False
|
|
1082
1082
|
if result and result.retcode != Mt5.TRADE_RETCODE_DONE:
|
|
1083
1083
|
msg = trade_retcode_message(result.retcode)
|
|
1084
1084
|
if result.retcode != Mt5.TRADE_RETCODE_NO_CHANGES:
|
|
@@ -1098,7 +1098,7 @@ class Trade:
|
|
|
1098
1098
|
LOGGER.error(
|
|
1099
1099
|
f"Break-Even Order Request, {msg}{addtionnal}, Error: {e}"
|
|
1100
1100
|
)
|
|
1101
|
-
return
|
|
1101
|
+
return False
|
|
1102
1102
|
if result and result.retcode == Mt5.TRADE_RETCODE_DONE:
|
|
1103
1103
|
break
|
|
1104
1104
|
tries += 1
|
|
@@ -1183,7 +1183,7 @@ class Trade:
|
|
|
1183
1183
|
LOGGER.error(
|
|
1184
1184
|
f"Closing {type.capitalize()} Request, RETCODE={msg}{addtionnal}, Error: {e}"
|
|
1185
1185
|
)
|
|
1186
|
-
return
|
|
1186
|
+
return False
|
|
1187
1187
|
|
|
1188
1188
|
if result and result.retcode != Mt5.TRADE_RETCODE_DONE:
|
|
1189
1189
|
if result.retcode == Mt5.TRADE_RETCODE_INVALID_FILL: # 10030
|
|
@@ -1210,7 +1210,7 @@ class Trade:
|
|
|
1210
1210
|
LOGGER.error(
|
|
1211
1211
|
f"Closing {type.capitalize()} Request, {msg}{addtionnal}, Error: {e}"
|
|
1212
1212
|
)
|
|
1213
|
-
return
|
|
1213
|
+
return False
|
|
1214
1214
|
if result and result.retcode == Mt5.TRADE_RETCODE_DONE:
|
|
1215
1215
|
break
|
|
1216
1216
|
tries += 1
|
|
@@ -1269,7 +1269,7 @@ class Trade:
|
|
|
1269
1269
|
LOGGER.error(
|
|
1270
1270
|
f"Unable to modify Order #{ticket}, RETCODE={msg}, Error: {e}"
|
|
1271
1271
|
)
|
|
1272
|
-
return
|
|
1272
|
+
return False
|
|
1273
1273
|
if result and result.retcode == Mt5.TRADE_RETCODE_DONE:
|
|
1274
1274
|
LOGGER.info(
|
|
1275
1275
|
f"Order #{ticket} modified, SYMBOL={self.symbol}, PRICE={round(request['price'], 5)},"
|
|
@@ -1374,9 +1374,6 @@ class Trade:
|
|
|
1374
1374
|
order_type = "open"
|
|
1375
1375
|
|
|
1376
1376
|
if not tickets:
|
|
1377
|
-
LOGGER.info(
|
|
1378
|
-
f"No {order_type.upper()} {tikets_type.upper()} to close, SYMBOL={self.symbol}."
|
|
1379
|
-
)
|
|
1380
1377
|
return
|
|
1381
1378
|
failed_tickets = []
|
|
1382
1379
|
with ThreadPoolExecutor(max_workers=min(len(tickets), 20)) as executor:
|
|
@@ -1481,15 +1478,10 @@ class Trade:
|
|
|
1481
1478
|
|
|
1482
1479
|
:return: bool
|
|
1483
1480
|
"""
|
|
1484
|
-
negative_deals = 0
|
|
1485
1481
|
max_trades = self.rm.max_trade()
|
|
1486
1482
|
today_deals = self.get_today_deals(group=self.symbol)
|
|
1487
|
-
for deal in today_deals
|
|
1488
|
-
|
|
1489
|
-
negative_deals += 1
|
|
1490
|
-
if negative_deals >= max_trades:
|
|
1491
|
-
return True
|
|
1492
|
-
return False
|
|
1483
|
+
negative_deals = [deal for deal in today_deals if deal.profit < 0]
|
|
1484
|
+
return len(negative_deals) >= max_trades
|
|
1493
1485
|
|
|
1494
1486
|
def get_stats(self) -> Tuple[Dict[str, Any], Dict[str, Any]]:
|
|
1495
1487
|
"""Retrieves aggregated session and historical trading performance."""
|
|
@@ -14,6 +14,7 @@ def mock_mt5_client():
|
|
|
14
14
|
"bbstrader.metatrader.account.check_mt5_connection"
|
|
15
15
|
) as mock_check_connection,
|
|
16
16
|
patch("bbstrader.metatrader.account.client") as mock_client,
|
|
17
|
+
patch("bbstrader.metatrader.broker.client") as mock_broker_client,
|
|
17
18
|
):
|
|
18
19
|
mock_check_connection.return_value = True
|
|
19
20
|
mock_account_info = MagicMock()
|
|
@@ -30,6 +31,16 @@ def mock_mt5_client():
|
|
|
30
31
|
mock_terminal_info.company = "Test Broker"
|
|
31
32
|
mock_client.terminal_info.return_value = mock_terminal_info
|
|
32
33
|
|
|
34
|
+
mock_symbol = MagicMock()
|
|
35
|
+
mock_symbol.name = "EURUSD"
|
|
36
|
+
mock_client.symbols_get.return_value = [mock_symbol]
|
|
37
|
+
mock_broker_client.symbols_get.return_value = [mock_symbol]
|
|
38
|
+
|
|
39
|
+
mock_tick = MagicMock()
|
|
40
|
+
mock_tick.time = 0
|
|
41
|
+
mock_client.symbol_info_tick.return_value = mock_tick
|
|
42
|
+
mock_broker_client.symbol_info_tick.return_value = mock_tick
|
|
43
|
+
|
|
33
44
|
yield mock_client
|
|
34
45
|
|
|
35
46
|
|
|
@@ -47,7 +47,6 @@ source = { editable = "." }
|
|
|
47
47
|
dependencies = [
|
|
48
48
|
{ name = "beautifulsoup4" },
|
|
49
49
|
{ name = "colorama" },
|
|
50
|
-
{ name = "en-core-web-sm" },
|
|
51
50
|
{ name = "eodhd" },
|
|
52
51
|
{ name = "exchange-calendars" },
|
|
53
52
|
{ name = "financetoolkit" },
|
|
@@ -82,6 +81,7 @@ mt5 = [
|
|
|
82
81
|
requires-dist = [
|
|
83
82
|
{ name = "beautifulsoup4", specifier = ">=4.13.5" },
|
|
84
83
|
{ name = "colorama", specifier = ">=0.4.6" },
|
|
84
|
+
{ name = "eodhd", specifier = ">=1.0.32" },
|
|
85
85
|
{ name = "exchange-calendars", specifier = ">=4.11.1" },
|
|
86
86
|
{ name = "financetoolkit", specifier = ">=2.0.4" },
|
|
87
87
|
{ name = "ipython", specifier = ">=9.5.0" },
|
|
@@ -121,15 +121,6 @@ wheels = [
|
|
|
121
121
|
{ url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721, upload-time = "2025-11-30T15:08:24.087Z" },
|
|
122
122
|
]
|
|
123
123
|
|
|
124
|
-
[[package]]
|
|
125
|
-
name = "blinker"
|
|
126
|
-
version = "1.9.0"
|
|
127
|
-
source = { registry = "https://pypi.org/simple" }
|
|
128
|
-
sdist = { url = "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", size = 22460, upload-time = "2024-11-08T17:25:47.436Z" }
|
|
129
|
-
wheels = [
|
|
130
|
-
{ url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458, upload-time = "2024-11-08T17:25:46.184Z" },
|
|
131
|
-
]
|
|
132
|
-
|
|
133
124
|
[[package]]
|
|
134
125
|
name = "blis"
|
|
135
126
|
version = "1.3.3"
|
|
@@ -464,27 +455,37 @@ wheels = [
|
|
|
464
455
|
|
|
465
456
|
[[package]]
|
|
466
457
|
name = "cvxpy"
|
|
467
|
-
version = "1.
|
|
458
|
+
version = "1.8.0"
|
|
468
459
|
source = { registry = "https://pypi.org/simple" }
|
|
469
460
|
dependencies = [
|
|
470
461
|
{ name = "clarabel" },
|
|
462
|
+
{ name = "highspy" },
|
|
471
463
|
{ name = "numpy" },
|
|
472
464
|
{ name = "osqp" },
|
|
473
465
|
{ name = "scipy" },
|
|
474
466
|
{ name = "scs" },
|
|
475
467
|
]
|
|
476
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
477
|
-
wheels = [
|
|
478
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
479
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
480
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
481
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
482
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
483
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
484
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
485
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
486
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
487
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
468
|
+
sdist = { url = "https://files.pythonhosted.org/packages/85/cb/45e643e72eef40feecfef4a43c8affdd1804c841dd527e12268810665129/cvxpy-1.8.0.tar.gz", hash = "sha256:6c9f94af5a649e02a418bae565f1566cf731b43221713a558e9991fc0e011bd6", size = 1749642, upload-time = "2026-01-27T21:20:02.363Z" }
|
|
469
|
+
wheels = [
|
|
470
|
+
{ url = "https://files.pythonhosted.org/packages/86/3f/56a2b0fab089a1b36d23ef4fd09d3532b0c2beac63d25eaae102cda58462/cvxpy-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:82e0b8ba765eafd39fe3f9429a95107cb900612d89e2e202186efa5bb3f18fba", size = 1679010, upload-time = "2026-01-27T21:11:49.237Z" },
|
|
471
|
+
{ url = "https://files.pythonhosted.org/packages/0f/e5/076f7119c2e294dc5536e9bba791d72f55deb7b97f853d0d298d12403192/cvxpy-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b62f8cb12ee67eea4fe298d3aff8f104cbdd123884d673cc2e18681bd1cf9185", size = 1334745, upload-time = "2026-01-27T21:11:50.588Z" },
|
|
472
|
+
{ url = "https://files.pythonhosted.org/packages/81/e0/fa36523cc39e16e4b10e937d52d5db1b2b46b79cc0d2f374c79fafbbf45c/cvxpy-1.8.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a95e2426147410564accc4a180085ac2c3e3c8b6721ba0ffca72598938676db5", size = 1345196, upload-time = "2026-01-27T21:19:58.768Z" },
|
|
473
|
+
{ url = "https://files.pythonhosted.org/packages/02/3c/5bdbfa75c88747f7de0e72d3c0d934511895167d11809e65c1eedbeb1f27/cvxpy-1.8.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0571f451ccb98943d89977b25be4205735f90cb2d536c5eadc3f166107ec474f", size = 1374166, upload-time = "2026-01-27T21:20:00.292Z" },
|
|
474
|
+
{ url = "https://files.pythonhosted.org/packages/e6/fc/c3afd7299bf46b8239639735a924c35b3c34842f291f5f20af2c4ac547ea/cvxpy-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:25dd0f7c64abde257fa20af3b90b1923f77a38aa86f8a5a5f1497fea0bc357fb", size = 1273945, upload-time = "2026-01-27T21:11:27.584Z" },
|
|
475
|
+
{ url = "https://files.pythonhosted.org/packages/9d/a1/581708fd7fb603e6092d8f89f1bf49d22f99864ab38f9546b34374b0d818/cvxpy-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dab28489c23c822009ef73f2f63b9f573bdfa5299610210ff9397595ed07df9", size = 1679052, upload-time = "2026-01-27T21:09:57.766Z" },
|
|
476
|
+
{ url = "https://files.pythonhosted.org/packages/51/f0/90c40eec1b697ea69bd759c887b0be41727169682c9432b84743517503a5/cvxpy-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:139557fadae6116b884c17798e7013b4444f14839a9f4a3e3ea4ca39f38dbc9a", size = 1334732, upload-time = "2026-01-27T21:09:59.856Z" },
|
|
477
|
+
{ url = "https://files.pythonhosted.org/packages/a8/89/ac8cff3b3499995ea23306e6618a3e6eb40ff6396b2b2412e67a3feca92b/cvxpy-1.8.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a089688a98d23ebfecaa66a09952e6b5a749a43451acb40e6a9c3017564ac351", size = 1345218, upload-time = "2026-01-27T21:19:52.024Z" },
|
|
478
|
+
{ url = "https://files.pythonhosted.org/packages/a5/07/92e9793a26c7ee5207a6b12e07bc71fcfa336d59dded1d8fb386c65cd5de/cvxpy-1.8.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64a9aaa4822060ff8e7650d0b7fea733d74852709bcfcaef958cf16e749a30f3", size = 1374248, upload-time = "2026-01-27T21:19:53.398Z" },
|
|
479
|
+
{ url = "https://files.pythonhosted.org/packages/70/29/dfd90ee5e78dcfe2eaeb306e62fd370092b4875db4eaed580731f16341f5/cvxpy-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:8cc16d8fe6c88edab115691089836805a52917e6a6a0e552c8c48d28bf390338", size = 1274033, upload-time = "2026-01-27T21:10:48.529Z" },
|
|
480
|
+
{ url = "https://files.pythonhosted.org/packages/bf/20/95cd37fe827b048a70f2364f87d2b6b8579c2dd7cf83465df67f030dfd7b/cvxpy-1.8.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c294b8e376f2269dbcaa6c2c044f94a6519215192feb930a12058d052bdb6f96", size = 1677830, upload-time = "2026-01-27T21:13:07.565Z" },
|
|
481
|
+
{ url = "https://files.pythonhosted.org/packages/bd/14/7fa9ddc1f8dad0d9a5ecae7f841c0de360c0dd2f3227c45e77d4948e7860/cvxpy-1.8.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:23bd32816a987b67d3c0be1be47c5817f2b0a2cc9308561263061b05ed36f8fb", size = 1334516, upload-time = "2026-01-27T21:13:09.859Z" },
|
|
482
|
+
{ url = "https://files.pythonhosted.org/packages/5d/71/9ef05775f6e62bf5957162c77e29a502f80787fef2d99c37cd51ae8e258f/cvxpy-1.8.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6beadb526139af431c213bca6063a08127bf2424deffddcc99716dc857451af6", size = 1346271, upload-time = "2026-01-27T21:20:34.925Z" },
|
|
483
|
+
{ url = "https://files.pythonhosted.org/packages/c8/d5/c64060765a326cc04d198d8a97eeb07a3a27455cb4b08027427fc241848d/cvxpy-1.8.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:47ba857e2e10db1bd07c7128c95be17f04f34c9c35e755acf03a7bea5e98063d", size = 1374763, upload-time = "2026-01-27T21:20:36.704Z" },
|
|
484
|
+
{ url = "https://files.pythonhosted.org/packages/6c/2c/44de661d1fc4c0c9970e86c92571443619c8c27e6cfa4729fb8db151475e/cvxpy-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:6f0553a12e2fa1634974620b630f2da1da192e076982927b759dc0a589a5af13", size = 1283689, upload-time = "2026-01-27T21:11:42.234Z" },
|
|
485
|
+
{ url = "https://files.pythonhosted.org/packages/57/ed/c02a72932794ec0d05419ddd892de0a29d08da7677510ae8ebfae3f6ecd8/cvxpy-1.8.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1841224d1d7fcf3467ee2d4d94334cf86285be866ec156efc0e19c40c6ef62ac", size = 1705581, upload-time = "2026-01-27T21:13:07.461Z" },
|
|
486
|
+
{ url = "https://files.pythonhosted.org/packages/8a/99/2d4654425667c12a2bf0ce9e24d36a830fd205e93b54e6fea075cd64684e/cvxpy-1.8.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a4b2206e4460ebb3accfcde7a1a4038fbf8ec7db04902df8a626388019a17574", size = 1347319, upload-time = "2026-01-27T21:13:08.757Z" },
|
|
487
|
+
{ url = "https://files.pythonhosted.org/packages/86/ba/7cf933f726b057b35b5c6c41048e2e45079dcd9346addb9e0f688b8d8530/cvxpy-1.8.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cdbb67d2557363eb85f8c2554c9cbd3779966da72583d831edb75899d1081fa", size = 1346171, upload-time = "2026-01-27T21:19:31.888Z" },
|
|
488
|
+
{ url = "https://files.pythonhosted.org/packages/a8/4a/3d8b73493872841e8d95b5a024ba97a632831a57e46852c4e6f2b6146dcc/cvxpy-1.8.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1aecf632c289e9496a66111d83e3aaa833ef91548a43ddb8ff8bb1f02d108630", size = 1371504, upload-time = "2026-01-27T21:19:33.52Z" },
|
|
488
489
|
]
|
|
489
490
|
|
|
490
491
|
[[package]]
|
|
@@ -574,7 +575,6 @@ wheels = [
|
|
|
574
575
|
{ url = "https://files.pythonhosted.org/packages/56/9a/ca30572f3e3ff3cef6a0ea8aa6cdc12c36f9fefe559f65c7d6265713196a/ecos-2.0.14-cp312-cp312-win_amd64.whl", hash = "sha256:718eb62afb8e45426bcc365ebaf3ca9f610afcbb754de6073ef5f104da8fca1f", size = 72248, upload-time = "2024-06-18T03:48:51.504Z" },
|
|
575
576
|
]
|
|
576
577
|
|
|
577
|
-
|
|
578
578
|
[[package]]
|
|
579
579
|
name = "eodhd"
|
|
580
580
|
version = "1.0.32"
|
|
@@ -645,23 +645,6 @@ wheels = [
|
|
|
645
645
|
{ url = "https://files.pythonhosted.org/packages/f3/bd/f860d7f5b9a3cae8bf737c7dcbb79c81c4db29355fc230efe59f915d2cf3/financetoolkit-2.0.6-py3-none-any.whl", hash = "sha256:66ce0acbc4ee0fce3bd64d0a61e0ff1dee17f640722526456c0738f66d26f7d4", size = 409745, upload-time = "2025-10-04T13:49:31.838Z" },
|
|
646
646
|
]
|
|
647
647
|
|
|
648
|
-
[[package]]
|
|
649
|
-
name = "flask"
|
|
650
|
-
version = "3.1.2"
|
|
651
|
-
source = { registry = "https://pypi.org/simple" }
|
|
652
|
-
dependencies = [
|
|
653
|
-
{ name = "blinker" },
|
|
654
|
-
{ name = "click" },
|
|
655
|
-
{ name = "itsdangerous" },
|
|
656
|
-
{ name = "jinja2" },
|
|
657
|
-
{ name = "markupsafe" },
|
|
658
|
-
{ name = "werkzeug" },
|
|
659
|
-
]
|
|
660
|
-
sdist = { url = "https://files.pythonhosted.org/packages/dc/6d/cfe3c0fcc5e477df242b98bfe186a4c34357b4847e87ecaef04507332dab/flask-3.1.2.tar.gz", hash = "sha256:bf656c15c80190ed628ad08cdfd3aaa35beb087855e2f494910aa3774cc4fd87", size = 720160, upload-time = "2025-08-19T21:03:21.205Z" }
|
|
661
|
-
wheels = [
|
|
662
|
-
{ url = "https://files.pythonhosted.org/packages/ec/f9/7f9263c5695f4bd0023734af91bedb2ff8209e8de6ead162f35d8dc762fd/flask-3.1.2-py3-none-any.whl", hash = "sha256:ca1d8112ec8a6158cc29ea4858963350011b5c846a414cdb7a954aa9e967d03c", size = 103308, upload-time = "2025-08-19T21:03:19.499Z" },
|
|
663
|
-
]
|
|
664
|
-
|
|
665
648
|
[[package]]
|
|
666
649
|
name = "fonttools"
|
|
667
650
|
version = "4.61.1"
|
|
@@ -721,6 +704,37 @@ wheels = [
|
|
|
721
704
|
{ url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" },
|
|
722
705
|
]
|
|
723
706
|
|
|
707
|
+
[[package]]
|
|
708
|
+
name = "highspy"
|
|
709
|
+
version = "1.12.0"
|
|
710
|
+
source = { registry = "https://pypi.org/simple" }
|
|
711
|
+
dependencies = [
|
|
712
|
+
{ name = "numpy" },
|
|
713
|
+
]
|
|
714
|
+
sdist = { url = "https://files.pythonhosted.org/packages/32/cc/dc47527beec1f44274186713a59fca13e6e1c71088ed6d18980dc8b90ee9/highspy-1.12.0.tar.gz", hash = "sha256:91a2da2c090597e34cd2cb57a751816ca6857c8cca8b09ae4d33960fb89ad42c", size = 1399992, upload-time = "2025-10-25T18:09:46.242Z" }
|
|
715
|
+
wheels = [
|
|
716
|
+
{ url = "https://files.pythonhosted.org/packages/6c/69/eacc8742d1a4ac68109a8ce3c808e81cab1c499926815e23dd39106595a3/highspy-1.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8c8b098a57b4035d5bdbffa2a80a96232c99e4d085aa822e283e98c50a1438b8", size = 2212070, upload-time = "2025-10-25T18:08:46.974Z" },
|
|
717
|
+
{ url = "https://files.pythonhosted.org/packages/d7/50/25e2adb149b56354aaa31165b44304c85763f66a560e8a1492e09ce6a9a5/highspy-1.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3db2958b934d46c0e112e8f9fdba96bb1fb84cfc6f70ddd4492ea62da890fe56", size = 2029063, upload-time = "2025-10-25T18:08:48.597Z" },
|
|
718
|
+
{ url = "https://files.pythonhosted.org/packages/36/0f/9d5b3f27a4bc8ebf4c2a18cd1ef39db77fabd8b007629143416c4d6cd4fd/highspy-1.12.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ecc5bdee740118e18ce928feaf9e309eb4a4a076f27a6780b8b363f1446801b5", size = 2562998, upload-time = "2025-10-25T18:08:49.968Z" },
|
|
719
|
+
{ url = "https://files.pythonhosted.org/packages/3d/b8/901d9702873f6e103a3b9d1a6e8e403b486d4e672e4e925d6bc1a92f8114/highspy-1.12.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6045d1d49627e1dc2f649cda4190c57c823f0cf71bec9d466363f00abbc65a7", size = 2296309, upload-time = "2025-10-25T18:08:51.651Z" },
|
|
720
|
+
{ url = "https://files.pythonhosted.org/packages/26/c7/34fbaacecdc363d847ef9f73ff169447db9728a100ca41c4ad1a4d3fb21a/highspy-1.12.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3a72ecea18c0b2cd041e87599d2e0bf6f96cea7133aba838f0128608089e92f", size = 2500486, upload-time = "2025-10-25T18:08:52.981Z" },
|
|
721
|
+
{ url = "https://files.pythonhosted.org/packages/ef/69/46910999e0fa30f85b15b3a3d5a7a16ed5af8763323e351f0ddd7fbcfed3/highspy-1.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1df858cfc71fafef789fe87793e331a17768065f9e9505df1ff10239e4fa6a8d", size = 3355868, upload-time = "2025-10-25T18:08:54.308Z" },
|
|
722
|
+
{ url = "https://files.pythonhosted.org/packages/e0/d3/9c1c13e09cd2dd1aed77a897272d974dab36be25bcc27a0af1f704153781/highspy-1.12.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:455b8688d93124b714e93f0787fb17040fcb5b1b90c59684bd44f66b3b947dbc", size = 3918497, upload-time = "2025-10-25T18:08:56.096Z" },
|
|
723
|
+
{ url = "https://files.pythonhosted.org/packages/50/f9/6dd6f8694c8f631057199bdbcadbc2078023029021feb9f0dbdbb9b0aed5/highspy-1.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:948db9f948c79a52f5faafeb71cd8990a84b462245bb2c493d3e16938f038782", size = 3581509, upload-time = "2025-10-25T18:08:57.862Z" },
|
|
724
|
+
{ url = "https://files.pythonhosted.org/packages/d2/87/24074f2bdb92b194d2c625a1071241a9bf23f475db850331b4256bda047f/highspy-1.12.0-cp312-cp312-win32.whl", hash = "sha256:869bdcedd7c309647efef2d4968dc05609815b537f8ccd8144ec2b81c0801a8b", size = 1843171, upload-time = "2025-10-25T18:08:59.195Z" },
|
|
725
|
+
{ url = "https://files.pythonhosted.org/packages/6c/48/ae627c5b16e2ae0f56537b25e6176e1e7db8ea26ea85fab047518979be2f/highspy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:90c3f9d575a93f0e08490f101b72b8597c7d1ad801d429f31b6ae962a1492a56", size = 2183875, upload-time = "2025-10-25T18:09:00.525Z" },
|
|
726
|
+
{ url = "https://files.pythonhosted.org/packages/c7/80/81269c182ee4dc36e3add646088d027cc87a6cabe640901848b1dc9b1355/highspy-1.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:79a346e811e330fb757a96e3a234b71b5d58ace44e1eba9611b13c2b6efaf0e9", size = 2212158, upload-time = "2025-10-25T18:09:01.834Z" },
|
|
727
|
+
{ url = "https://files.pythonhosted.org/packages/00/bd/ac5d300201f1ad8581c5b468ed1608ecd47e1e9d88a74cdaebf0cf74ae65/highspy-1.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:57512dc19e18e2daa572acc0ea9561a5c4050d592d21f6db3f8367dd38e50362", size = 2029098, upload-time = "2025-10-25T18:09:03.132Z" },
|
|
728
|
+
{ url = "https://files.pythonhosted.org/packages/be/cc/3ed5a545ce807fb9c4a1e28e83ee474c560bc1a83335c791127a113f634b/highspy-1.12.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:a856e6e33d6d20d177fdc1a6eb34b3b58385a6c757a05695c4b214a5c377e044", size = 2562864, upload-time = "2025-10-25T18:09:04.478Z" },
|
|
729
|
+
{ url = "https://files.pythonhosted.org/packages/3c/d9/f2f409200654a64759e8970533315364ebae1dc1c90e3aa71127804abf5a/highspy-1.12.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:550ddee715934937da6cfe58f7adceca86b0847e5f8ebd7429cc275218179b95", size = 2296446, upload-time = "2025-10-25T18:09:05.869Z" },
|
|
730
|
+
{ url = "https://files.pythonhosted.org/packages/6d/cd/e9441001cb3e523ac620982af75d7900b702f97f08656797cec2a8db6222/highspy-1.12.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a5c58dbd6170073f4ba1bd31e0c7b276404d1456080cb190ed51b4c817629d6", size = 2500363, upload-time = "2025-10-25T18:09:07.214Z" },
|
|
731
|
+
{ url = "https://files.pythonhosted.org/packages/25/58/92b5849a2150db172a1b17ddf165b5aeda8871eabb59efd9f2c1df025b33/highspy-1.12.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a112865dbaace2c9b7e2234bd4415dd6f2b31cb53b53d007d3e53fc3ebfdd387", size = 3356311, upload-time = "2025-10-25T18:09:08.509Z" },
|
|
732
|
+
{ url = "https://files.pythonhosted.org/packages/9d/c8/04b6bcbb0c9cc09efd6370ba3e6afc7aaf3b6a2f61f415ace8d223328506/highspy-1.12.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:32f970c5d35fb6f92ef40a21b27faa9f348783a1de119facd0ee8dbfa52ef478", size = 3917867, upload-time = "2025-10-25T18:09:09.848Z" },
|
|
733
|
+
{ url = "https://files.pythonhosted.org/packages/51/c5/2c1b386a219eea79af16ee29435d940baccf159ca26647715d330868aba0/highspy-1.12.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aa040786e1a321e2703834dd5bedf23d6998d6b42984c4b14e157036da655fd0", size = 3581079, upload-time = "2025-10-25T18:09:11.329Z" },
|
|
734
|
+
{ url = "https://files.pythonhosted.org/packages/b6/47/3d27048c6a640326f314e2b5c8b3d80ef8459633413a08a90336b56b1e2f/highspy-1.12.0-cp313-cp313-win32.whl", hash = "sha256:adb1735c625e164d1cc114a74f0628cea944b5f4a346ba0726386edbaa838479", size = 1843105, upload-time = "2025-10-25T18:09:12.774Z" },
|
|
735
|
+
{ url = "https://files.pythonhosted.org/packages/f0/20/3b36ca44864baced84355aa37c1b66e95d46009a74887fead515ccff88b1/highspy-1.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:dd826ca82035d125ad3f59ed62878ca2676db1c66870e2b55e025adfa9f9e785", size = 2183790, upload-time = "2025-10-25T18:09:14.559Z" },
|
|
736
|
+
]
|
|
737
|
+
|
|
724
738
|
[[package]]
|
|
725
739
|
name = "httpcore"
|
|
726
740
|
version = "1.0.9"
|
|
@@ -758,18 +772,6 @@ wheels = [
|
|
|
758
772
|
{ url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
|
|
759
773
|
]
|
|
760
774
|
|
|
761
|
-
[[package]]
|
|
762
|
-
name = "importlib-metadata"
|
|
763
|
-
version = "8.7.1"
|
|
764
|
-
source = { registry = "https://pypi.org/simple" }
|
|
765
|
-
dependencies = [
|
|
766
|
-
{ name = "zipp" },
|
|
767
|
-
]
|
|
768
|
-
sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" }
|
|
769
|
-
wheels = [
|
|
770
|
-
{ url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865, upload-time = "2025-12-21T10:00:18.329Z" },
|
|
771
|
-
]
|
|
772
|
-
|
|
773
775
|
[[package]]
|
|
774
776
|
name = "ipython"
|
|
775
777
|
version = "9.9.0"
|
|
@@ -803,15 +805,6 @@ wheels = [
|
|
|
803
805
|
{ url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" },
|
|
804
806
|
]
|
|
805
807
|
|
|
806
|
-
[[package]]
|
|
807
|
-
name = "itsdangerous"
|
|
808
|
-
version = "2.2.0"
|
|
809
|
-
source = { registry = "https://pypi.org/simple" }
|
|
810
|
-
sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" }
|
|
811
|
-
wheels = [
|
|
812
|
-
{ url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" },
|
|
813
|
-
]
|
|
814
|
-
|
|
815
808
|
[[package]]
|
|
816
809
|
name = "jedi"
|
|
817
810
|
version = "0.19.2"
|
|
@@ -1245,15 +1238,6 @@ wheels = [
|
|
|
1245
1238
|
{ url = "https://files.pythonhosted.org/packages/76/66/4fce8755f25d77324401886c00017c556be7ca3039575b94037aff905385/murmurhash-1.0.15-cp314-cp314t-win_arm64.whl", hash = "sha256:c22e56c6a0b70598a66e456de5272f76088bc623688da84ef403148a6d41851d", size = 26219, upload-time = "2025-11-14T09:51:03.563Z" },
|
|
1246
1239
|
]
|
|
1247
1240
|
|
|
1248
|
-
[[package]]
|
|
1249
|
-
name = "nest-asyncio"
|
|
1250
|
-
version = "1.6.0"
|
|
1251
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1252
|
-
sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" }
|
|
1253
|
-
wheels = [
|
|
1254
|
-
{ url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" },
|
|
1255
|
-
]
|
|
1256
|
-
|
|
1257
1241
|
[[package]]
|
|
1258
1242
|
name = "nltk"
|
|
1259
1243
|
version = "3.9.2"
|
|
@@ -1366,7 +1350,7 @@ wheels = [
|
|
|
1366
1350
|
|
|
1367
1351
|
[[package]]
|
|
1368
1352
|
name = "osqp"
|
|
1369
|
-
version = "1.0
|
|
1353
|
+
version = "1.1.0"
|
|
1370
1354
|
source = { registry = "https://pypi.org/simple" }
|
|
1371
1355
|
dependencies = [
|
|
1372
1356
|
{ name = "jinja2" },
|
|
@@ -1375,18 +1359,18 @@ dependencies = [
|
|
|
1375
1359
|
{ name = "scipy" },
|
|
1376
1360
|
{ name = "setuptools" },
|
|
1377
1361
|
]
|
|
1378
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1362
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d8/c5/04f5e38b45d08dd22a68bc7e7fff8607f8e23010162f63185f535e34480c/osqp-1.1.0.tar.gz", hash = "sha256:4f81c819346ce8da6eeb105648c110cb00601d379aad8bd41a69296cb6d46464", size = 56972, upload-time = "2026-01-26T21:13:00.502Z" }
|
|
1379
1363
|
wheels = [
|
|
1380
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1381
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1382
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1383
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1384
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1385
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1386
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1387
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1388
|
-
{ url = "https://files.pythonhosted.org/packages/c0/
|
|
1389
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1364
|
+
{ url = "https://files.pythonhosted.org/packages/43/86/a5c4ffd6d71e08a26bd1a076e740c7579e289bf6b54ae481b908e20f954b/osqp-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3674e1fbe8479fa9e275918be2d2672dfd0f4d0b257813cde139a10103d5fcf9", size = 321422, upload-time = "2026-01-26T21:12:35.523Z" },
|
|
1365
|
+
{ url = "https://files.pythonhosted.org/packages/d1/47/2a5f7d26288b92ca6ae7eb777e61487732317f282054854e38c1cf1abcee/osqp-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b15bc820da970f4b5706e5ad3cbbb9a45c7864df3e613ed76966d81d7e5db1a9", size = 302196, upload-time = "2026-01-26T21:12:36.825Z" },
|
|
1366
|
+
{ url = "https://files.pythonhosted.org/packages/66/f9/5ba3954a7ecfc7fd42e346a63621ccb04343467db668a4d5477f5c205c52/osqp-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2983851b91143bb12d2acf6061471d7dd6b885c0cfa440219a57a85b7d19c25", size = 335033, upload-time = "2026-01-26T21:12:38.693Z" },
|
|
1367
|
+
{ url = "https://files.pythonhosted.org/packages/39/36/ca736c5404bc9948bffc0dc464647d24e0b2fd7c69126cd0d67c205894f4/osqp-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:142feeb1b66a309abdd2cd206d5b0effe97da8111c4387d72601453804efd994", size = 357634, upload-time = "2026-01-26T21:12:39.642Z" },
|
|
1368
|
+
{ url = "https://files.pythonhosted.org/packages/a4/36/bee8cc33b517d1b93671828497270b0ef69338cba548271a6b5456f2080b/osqp-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a38956e5cdf7bb2213a906c4dfe9b722c44c24d3741380b2c43c31e5e7b9e2b5", size = 310710, upload-time = "2026-01-26T21:12:40.897Z" },
|
|
1369
|
+
{ url = "https://files.pythonhosted.org/packages/e0/2f/67a889c7bd8fb56008ea43ae14211e2b7d2863afbb283e3fc75e202ee989/osqp-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc3526c881e3f45e93039384c10e34f6cf2db7f15c203c41f1ee0745f111d107", size = 321417, upload-time = "2026-01-26T21:12:41.847Z" },
|
|
1370
|
+
{ url = "https://files.pythonhosted.org/packages/f1/d6/aaf4c2650a9385f2df0ce94e44cf292b5d8d16e969dc0a543b6f18fe30f6/osqp-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:790dfa5ca4f5b85db3949c713f6b8583e074652c6cb35c18709764f27c27dffc", size = 302182, upload-time = "2026-01-26T21:12:42.773Z" },
|
|
1371
|
+
{ url = "https://files.pythonhosted.org/packages/2e/01/17b1bd4cdeaa6c53b5c303b1cb999488b402bd0123bf81e24a4496c39a71/osqp-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f164f722ea0f76fca2804bbb28621f12dd1d60e72bb4fba057d886fddf2dc628", size = 334610, upload-time = "2026-01-26T21:12:44.986Z" },
|
|
1372
|
+
{ url = "https://files.pythonhosted.org/packages/c0/f3/eaa1f35ffe08cf9fca0e85db6126199bf5ccc7bae13e2779bbdd01a274cf/osqp-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc7bb9c8b062a9d69702afd378413842c508e85e436742052f2a89b6b670b124", size = 357715, upload-time = "2026-01-26T21:12:46.116Z" },
|
|
1373
|
+
{ url = "https://files.pythonhosted.org/packages/14/47/9a8fa96442ef020b50a4fa462657a74b3b129959d54dfe61ecb15cf2aff8/osqp-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:7803bf34683416e48835dabc8e8d7dd18325ccc24ca02072bec28eb14caeec98", size = 310799, upload-time = "2026-01-26T21:12:47.531Z" },
|
|
1390
1374
|
]
|
|
1391
1375
|
|
|
1392
1376
|
[[package]]
|
|
@@ -1655,17 +1639,17 @@ wheels = [
|
|
|
1655
1639
|
|
|
1656
1640
|
[[package]]
|
|
1657
1641
|
name = "protobuf"
|
|
1658
|
-
version = "6.33.
|
|
1642
|
+
version = "6.33.5"
|
|
1659
1643
|
source = { registry = "https://pypi.org/simple" }
|
|
1660
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1644
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ba/25/7c72c307aafc96fa87062aa6291d9f7c94836e43214d43722e86037aac02/protobuf-6.33.5.tar.gz", hash = "sha256:6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c", size = 444465, upload-time = "2026-01-29T21:51:33.494Z" }
|
|
1661
1645
|
wheels = [
|
|
1662
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1663
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1664
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1665
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1666
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1667
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1668
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1646
|
+
{ url = "https://files.pythonhosted.org/packages/b1/79/af92d0a8369732b027e6d6084251dd8e782c685c72da161bd4a2e00fbabb/protobuf-6.33.5-cp310-abi3-win32.whl", hash = "sha256:d71b040839446bac0f4d162e758bea99c8251161dae9d0983a3b88dee345153b", size = 425769, upload-time = "2026-01-29T21:51:21.751Z" },
|
|
1647
|
+
{ url = "https://files.pythonhosted.org/packages/55/75/bb9bc917d10e9ee13dee8607eb9ab963b7cf8be607c46e7862c748aa2af7/protobuf-6.33.5-cp310-abi3-win_amd64.whl", hash = "sha256:3093804752167bcab3998bec9f1048baae6e29505adaf1afd14a37bddede533c", size = 437118, upload-time = "2026-01-29T21:51:24.022Z" },
|
|
1648
|
+
{ url = "https://files.pythonhosted.org/packages/a2/6b/e48dfc1191bc5b52950246275bf4089773e91cb5ba3592621723cdddca62/protobuf-6.33.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a5cb85982d95d906df1e2210e58f8e4f1e3cdc088e52c921a041f9c9a0386de5", size = 427766, upload-time = "2026-01-29T21:51:25.413Z" },
|
|
1649
|
+
{ url = "https://files.pythonhosted.org/packages/4e/b1/c79468184310de09d75095ed1314b839eb2f72df71097db9d1404a1b2717/protobuf-6.33.5-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190", size = 324638, upload-time = "2026-01-29T21:51:26.423Z" },
|
|
1650
|
+
{ url = "https://files.pythonhosted.org/packages/c5/f5/65d838092fd01c44d16037953fd4c2cc851e783de9b8f02b27ec4ffd906f/protobuf-6.33.5-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:8afa18e1d6d20af15b417e728e9f60f3aa108ee76f23c3b2c07a2c3b546d3afd", size = 339411, upload-time = "2026-01-29T21:51:27.446Z" },
|
|
1651
|
+
{ url = "https://files.pythonhosted.org/packages/9b/53/a9443aa3ca9ba8724fdfa02dd1887c1bcd8e89556b715cfbacca6b63dbec/protobuf-6.33.5-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0", size = 323465, upload-time = "2026-01-29T21:51:28.925Z" },
|
|
1652
|
+
{ url = "https://files.pythonhosted.org/packages/57/bf/2086963c69bdac3d7cff1cc7ff79b8ce5ea0bec6797a017e1be338a46248/protobuf-6.33.5-py3-none-any.whl", hash = "sha256:69915a973dd0f60f31a08b8318b73eab2bd6a392c79184b3612226b0a3f8ec02", size = 170687, upload-time = "2026-01-29T21:51:32.557Z" },
|
|
1669
1653
|
]
|
|
1670
1654
|
|
|
1671
1655
|
[[package]]
|
|
@@ -1875,14 +1859,15 @@ wheels = [
|
|
|
1875
1859
|
|
|
1876
1860
|
[[package]]
|
|
1877
1861
|
name = "python-telegram-bot"
|
|
1878
|
-
version = "22.
|
|
1862
|
+
version = "22.6"
|
|
1879
1863
|
source = { registry = "https://pypi.org/simple" }
|
|
1880
1864
|
dependencies = [
|
|
1865
|
+
{ name = "httpcore", marker = "python_full_version >= '3.14'" },
|
|
1881
1866
|
{ name = "httpx" },
|
|
1882
1867
|
]
|
|
1883
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1868
|
+
sdist = { url = "https://files.pythonhosted.org/packages/cd/9b/8df90c85404166a6631e857027866263adb27440d8af1dbeffbdc4f0166c/python_telegram_bot-22.6.tar.gz", hash = "sha256:50ae8cc10f8dff01445628687951020721f37956966b92a91df4c1bf2d113742", size = 1503761, upload-time = "2026-01-24T13:57:00.269Z" }
|
|
1884
1869
|
wheels = [
|
|
1885
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1870
|
+
{ url = "https://files.pythonhosted.org/packages/13/97/7298f0e1afe3a1ae52ff4c5af5087ed4de319ea73eb3b5c8c4dd4e76e708/python_telegram_bot-22.6-py3-none-any.whl", hash = "sha256:e598fe171c3dde2dfd0f001619ee9110eece66761a677b34719fb18934935ce0", size = 737267, upload-time = "2026-01-24T13:56:58.06Z" },
|
|
1886
1871
|
]
|
|
1887
1872
|
|
|
1888
1873
|
[[package]]
|
|
@@ -2075,26 +2060,17 @@ wheels = [
|
|
|
2075
2060
|
{ url = "https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36", size = 24179, upload-time = "2024-03-22T20:32:28.055Z" },
|
|
2076
2061
|
]
|
|
2077
2062
|
|
|
2078
|
-
[[package]]
|
|
2079
|
-
name = "retrying"
|
|
2080
|
-
version = "1.4.2"
|
|
2081
|
-
source = { registry = "https://pypi.org/simple" }
|
|
2082
|
-
sdist = { url = "https://files.pythonhosted.org/packages/c8/5a/b17e1e257d3e6f2e7758930e1256832c9ddd576f8631781e6a072914befa/retrying-1.4.2.tar.gz", hash = "sha256:d102e75d53d8d30b88562d45361d6c6c934da06fab31bd81c0420acb97a8ba39", size = 11411, upload-time = "2025-08-03T03:35:25.189Z" }
|
|
2083
|
-
wheels = [
|
|
2084
|
-
{ url = "https://files.pythonhosted.org/packages/67/f3/6cd296376653270ac1b423bb30bd70942d9916b6978c6f40472d6ac038e7/retrying-1.4.2-py3-none-any.whl", hash = "sha256:bbc004aeb542a74f3569aeddf42a2516efefcdaff90df0eb38fbfbf19f179f59", size = 10859, upload-time = "2025-08-03T03:35:23.829Z" },
|
|
2085
|
-
]
|
|
2086
|
-
|
|
2087
2063
|
[[package]]
|
|
2088
2064
|
name = "rich"
|
|
2089
|
-
version = "14.
|
|
2065
|
+
version = "14.3.1"
|
|
2090
2066
|
source = { registry = "https://pypi.org/simple" }
|
|
2091
2067
|
dependencies = [
|
|
2092
2068
|
{ name = "markdown-it-py" },
|
|
2093
2069
|
{ name = "pygments" },
|
|
2094
2070
|
]
|
|
2095
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2071
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a1/84/4831f881aa6ff3c976f6d6809b58cdfa350593ffc0dc3c58f5f6586780fb/rich-14.3.1.tar.gz", hash = "sha256:b8c5f568a3a749f9290ec6bddedf835cec33696bfc1e48bcfecb276c7386e4b8", size = 230125, upload-time = "2026-01-24T21:40:44.847Z" }
|
|
2096
2072
|
wheels = [
|
|
2097
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2073
|
+
{ url = "https://files.pythonhosted.org/packages/87/2a/a1810c8627b9ec8c57ec5ec325d306701ae7be50235e8fd81266e002a3cc/rich-14.3.1-py3-none-any.whl", hash = "sha256:da750b1aebbff0b372557426fb3f35ba56de8ef954b3190315eb64076d6fb54e", size = 309952, upload-time = "2026-01-24T21:40:42.969Z" },
|
|
2098
2074
|
]
|
|
2099
2075
|
|
|
2100
2076
|
[[package]]
|
|
@@ -2250,11 +2226,11 @@ wheels = [
|
|
|
2250
2226
|
|
|
2251
2227
|
[[package]]
|
|
2252
2228
|
name = "setuptools"
|
|
2253
|
-
version = "80.10.
|
|
2229
|
+
version = "80.10.2"
|
|
2254
2230
|
source = { registry = "https://pypi.org/simple" }
|
|
2255
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2231
|
+
sdist = { url = "https://files.pythonhosted.org/packages/76/95/faf61eb8363f26aa7e1d762267a8d602a1b26d4f3a1e758e92cb3cb8b054/setuptools-80.10.2.tar.gz", hash = "sha256:8b0e9d10c784bf7d262c4e5ec5d4ec94127ce206e8738f29a437945fbc219b70", size = 1200343, upload-time = "2026-01-25T22:38:17.252Z" }
|
|
2256
2232
|
wheels = [
|
|
2257
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2233
|
+
{ url = "https://files.pythonhosted.org/packages/94/b8/f1f62a5e3c0ad2ff1d189590bfa4c46b4f3b6e49cef6f26c6ee4e575394d/setuptools-80.10.2-py3-none-any.whl", hash = "sha256:95b30ddfb717250edb492926c92b5221f7ef3fbcc2b07579bcd4a27da21d0173", size = 1064234, upload-time = "2026-01-25T22:38:15.216Z" },
|
|
2258
2234
|
]
|
|
2259
2235
|
|
|
2260
2236
|
[[package]]
|
|
@@ -2645,11 +2621,11 @@ wheels = [
|
|
|
2645
2621
|
|
|
2646
2622
|
[[package]]
|
|
2647
2623
|
name = "wcwidth"
|
|
2648
|
-
version = "0.
|
|
2624
|
+
version = "0.5.2"
|
|
2649
2625
|
source = { registry = "https://pypi.org/simple" }
|
|
2650
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2626
|
+
sdist = { url = "https://files.pythonhosted.org/packages/5f/3e/3d456efe55d2d5e7938b5f9abd68333dd8dceb14e829f51f9a8deed2217e/wcwidth-0.5.2.tar.gz", hash = "sha256:c022c39a02a0134d1e10810da36d1f984c79648181efcc70a389f4569695f5ae", size = 152817, upload-time = "2026-01-29T19:32:52.22Z" }
|
|
2651
2627
|
wheels = [
|
|
2652
|
-
{ url = "https://files.pythonhosted.org/packages/72/
|
|
2628
|
+
{ url = "https://files.pythonhosted.org/packages/6d/72/da5a6f511a8267f962a08637464a70409736ac72f9f75b069e0e96d69b64/wcwidth-0.5.2-py3-none-any.whl", hash = "sha256:46912178a64217749bf3426b21e36e849fbc46e05c949407b3e364d9f7ffcadf", size = 90088, upload-time = "2026-01-29T19:32:50.592Z" },
|
|
2653
2629
|
]
|
|
2654
2630
|
|
|
2655
2631
|
[[package]]
|
|
@@ -2726,18 +2702,6 @@ wheels = [
|
|
|
2726
2702
|
{ url = "https://files.pythonhosted.org/packages/6f/28/258ebab549c2bf3e64d2b0217b973467394a9cea8c42f70418ca2c5d0d2e/websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec", size = 171598, upload-time = "2026-01-10T09:23:45.395Z" },
|
|
2727
2703
|
]
|
|
2728
2704
|
|
|
2729
|
-
[[package]]
|
|
2730
|
-
name = "werkzeug"
|
|
2731
|
-
version = "3.1.5"
|
|
2732
|
-
source = { registry = "https://pypi.org/simple" }
|
|
2733
|
-
dependencies = [
|
|
2734
|
-
{ name = "markupsafe" },
|
|
2735
|
-
]
|
|
2736
|
-
sdist = { url = "https://files.pythonhosted.org/packages/5a/70/1469ef1d3542ae7c2c7b72bd5e3a4e6ee69d7978fa8a3af05a38eca5becf/werkzeug-3.1.5.tar.gz", hash = "sha256:6a548b0e88955dd07ccb25539d7d0cc97417ee9e179677d22c7041c8f078ce67", size = 864754, upload-time = "2026-01-08T17:49:23.247Z" }
|
|
2737
|
-
wheels = [
|
|
2738
|
-
{ url = "https://files.pythonhosted.org/packages/ad/e4/8d97cca767bcc1be76d16fb76951608305561c6e056811587f36cb1316a8/werkzeug-3.1.5-py3-none-any.whl", hash = "sha256:5111e36e91086ece91f93268bb39b4a35c1e6f1feac762c9c822ded0a4e322dc", size = 225025, upload-time = "2026-01-08T17:49:21.859Z" },
|
|
2739
|
-
]
|
|
2740
|
-
|
|
2741
2705
|
[[package]]
|
|
2742
2706
|
name = "win32-setctime"
|
|
2743
2707
|
version = "1.2.0"
|
|
@@ -2818,7 +2782,7 @@ wheels = [
|
|
|
2818
2782
|
|
|
2819
2783
|
[[package]]
|
|
2820
2784
|
name = "yfinance"
|
|
2821
|
-
version = "1.0"
|
|
2785
|
+
version = "1.1.0"
|
|
2822
2786
|
source = { registry = "https://pypi.org/simple" }
|
|
2823
2787
|
dependencies = [
|
|
2824
2788
|
{ name = "beautifulsoup4" },
|
|
@@ -2834,16 +2798,7 @@ dependencies = [
|
|
|
2834
2798
|
{ name = "requests" },
|
|
2835
2799
|
{ name = "websockets" },
|
|
2836
2800
|
]
|
|
2837
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2838
|
-
wheels = [
|
|
2839
|
-
{ url = "https://files.pythonhosted.org/packages/8d/c1/ac130a6a46b7c23624220c8fcae9de5f3be0c2c492452d31c45cbf50bc12/yfinance-1.0-py2.py3-none-any.whl", hash = "sha256:5a2b8ad7bbcb4bd01a97480aff07b8851e361307702b568141b613b30da5c72e", size = 127146, upload-time = "2025-12-22T18:16:19.658Z" },
|
|
2840
|
-
]
|
|
2841
|
-
|
|
2842
|
-
[[package]]
|
|
2843
|
-
name = "zipp"
|
|
2844
|
-
version = "3.23.0"
|
|
2845
|
-
source = { registry = "https://pypi.org/simple" }
|
|
2846
|
-
sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" }
|
|
2801
|
+
sdist = { url = "https://files.pythonhosted.org/packages/01/04/f76bc0cb6767a3074698c8d416c7f2137e6d1ccc4f393ed82421393111b7/yfinance-1.1.0.tar.gz", hash = "sha256:1e852ce10a5d6679200efa2b09ed3f3b01dbe84505e2c1c139be7d2b3a597b10", size = 140171, upload-time = "2026-01-24T16:07:34.394Z" }
|
|
2847
2802
|
wheels = [
|
|
2848
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2803
|
+
{ url = "https://files.pythonhosted.org/packages/f1/13/63c35603f07f549b0d044b6001956aeb941850e0ef75ef7c8eb8b0e410ab/yfinance-1.1.0-py2.py3-none-any.whl", hash = "sha256:e610fec1d2b052e3b8f2cf44bdcff014bcf15458a9b072d5a3e02507e20d69d2", size = 129928, upload-time = "2026-01-24T16:07:32.983Z" },
|
|
2849
2804
|
]
|
bbstrader-2.0.6/VERSION.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.0.6
|
|
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
|
|
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
|
|
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
|