walrasquant-lib 0.4.25__tar.gz → 0.4.26__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 (105) hide show
  1. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/PKG-INFO +2 -2
  2. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/pyproject.toml +2 -2
  3. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/config.py +9 -0
  4. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/core/nautilius_core.py +3 -0
  5. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/engine.py +1 -0
  6. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/README.md +0 -0
  7. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/__init__.py +0 -0
  8. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/aggregation.py +0 -0
  9. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/backends/__init__.py +0 -0
  10. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/backends/db.py +0 -0
  11. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/backends/db_memory.py +0 -0
  12. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/backends/db_postgresql.py +0 -0
  13. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/backends/db_sqlite.py +0 -0
  14. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/__init__.py +0 -0
  15. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/api_client.py +0 -0
  16. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/connector.py +0 -0
  17. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/ems.py +0 -0
  18. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/exchange.py +0 -0
  19. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/oms.py +0 -0
  20. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/retry.py +0 -0
  21. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/sms.py +0 -0
  22. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/base/ws_client.py +0 -0
  23. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/constants.py +0 -0
  24. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/core/__init__.py +0 -0
  25. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/core/cache.py +0 -0
  26. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/core/clock.py +0 -0
  27. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/core/connection.py +0 -0
  28. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/core/entity.py +0 -0
  29. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/core/registry.py +0 -0
  30. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/error.py +0 -0
  31. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/__init__.py +0 -0
  32. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/base_factory.py +0 -0
  33. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/__init__.py +0 -0
  34. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/connector.py +0 -0
  35. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/constants.py +0 -0
  36. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/ems.py +0 -0
  37. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/error.py +0 -0
  38. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/exchange.py +0 -0
  39. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/factory.py +0 -0
  40. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/oms.py +0 -0
  41. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/rest_api.py +0 -0
  42. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/schema.py +0 -0
  43. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/binance/websockets.py +0 -0
  44. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/__init__.py +0 -0
  45. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/connector.py +0 -0
  46. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/constants.py +0 -0
  47. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/ems.py +0 -0
  48. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/error.py +0 -0
  49. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/exchange.py +0 -0
  50. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/factory.py +0 -0
  51. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/oms.py +0 -0
  52. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/rest_api.py +0 -0
  53. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/schema.py +0 -0
  54. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bitget/websockets.py +0 -0
  55. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/__init__.py +0 -0
  56. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/connector.py +0 -0
  57. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/constants.py +0 -0
  58. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/ems.py +0 -0
  59. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/error.py +0 -0
  60. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/exchange.py +0 -0
  61. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/factory.py +0 -0
  62. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/oms.py +0 -0
  63. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/rest_api.py +0 -0
  64. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/schema.py +0 -0
  65. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/bybit/websockets.py +0 -0
  66. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/__init__.py +0 -0
  67. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/connector.py +0 -0
  68. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/constants.py +0 -0
  69. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/ems.py +0 -0
  70. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/error.py +0 -0
  71. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/exchange.py +0 -0
  72. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/factory.py +0 -0
  73. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/oms.py +0 -0
  74. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/rest_api.py +0 -0
  75. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/schema.py +0 -0
  76. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/signing.py +0 -0
  77. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/hyperliquid/websockets.py +0 -0
  78. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/__init__.py +0 -0
  79. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/connector.py +0 -0
  80. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/constants.py +0 -0
  81. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/ems.py +0 -0
  82. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/error.py +0 -0
  83. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/exchange.py +0 -0
  84. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/factory.py +0 -0
  85. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/oms.py +0 -0
  86. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/rest_api.py +0 -0
  87. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/schema.py +0 -0
  88. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/okx/websockets.py +0 -0
  89. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/exchange/registry.py +0 -0
  90. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/execution/__init__.py +0 -0
  91. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/execution/algorithm.py +0 -0
  92. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/execution/algorithms/__init__.py +0 -0
  93. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/execution/algorithms/twap.py +0 -0
  94. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/execution/config.py +0 -0
  95. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/execution/constants.py +0 -0
  96. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/execution/schema.py +0 -0
  97. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/indicator.py +0 -0
  98. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/push.py +0 -0
  99. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/schema.py +0 -0
  100. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/strategy.py +0 -0
  101. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/tools/__init__.py +0 -0
  102. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/tools/pm2_wrapper.py +0 -0
  103. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/web/__init__.py +0 -0
  104. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/web/app.py +0 -0
  105. {walrasquant_lib-0.4.25 → walrasquant_lib-0.4.26}/src/walrasquant/web/server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: walrasquant-lib
3
- Version: 0.4.25
3
+ Version: 0.4.26
4
4
  Summary: fastest python trading bot
5
5
  Author: River-Shi
6
6
  Author-email: River-Shi <nachuan.shi.quant@gmail.com>
@@ -25,7 +25,7 @@ Requires-Dist: rich>=14.0.0
25
25
  Requires-Dist: picows>=2.1.1
26
26
  Requires-Dist: nexuscore-lib>=0.2.1
27
27
  Requires-Dist: flashduty-lib>=0.2.0
28
- Requires-Dist: nexuslog-lib>=0.7.0
28
+ Requires-Dist: nexuslog-lib>=0.8.0
29
29
  Requires-Dist: msgspec>=0.21.1
30
30
  Requires-Dist: pandas<3.0.0
31
31
  Requires-Dist: numpy>=2.2.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "walrasquant-lib"
3
- version = "0.4.25"
3
+ version = "0.4.26"
4
4
  description = "fastest python trading bot"
5
5
  authors = [
6
6
  {name = "River-Shi",email = "nachuan.shi.quant@gmail.com"}
@@ -29,7 +29,7 @@ dependencies = [
29
29
  "picows>=2.1.1",
30
30
  "nexuscore-lib>=0.2.1",
31
31
  "flashduty-lib>=0.2.0",
32
- "nexuslog-lib>=0.7.0",
32
+ "nexuslog-lib>=0.8.0",
33
33
  "msgspec>=0.21.1",
34
34
  "pandas<3.0.0",
35
35
  "numpy>=2.2.0",
@@ -18,6 +18,9 @@ class LogConfig:
18
18
  logs/{strategy_id}_{user_id}.log. If None, logs to stdout.
19
19
  level: Minimum log level to record. Options: TRACE, DEBUG, INFO, WARNING, ERROR
20
20
  unix_ts: If True, emit unix timestamps instead of formatted local time.
21
+ color: ANSI colorization of log output. "auto" colors only when writing
22
+ to a color-capable terminal, "off" disables it, "always" forces it
23
+ even for files and pipes.
21
24
  """
22
25
 
23
26
  filename: Literal["auto"] | str | None = None
@@ -25,6 +28,7 @@ class LogConfig:
25
28
  name_levels: dict[str | None, LOG_LEVELS] | None = None
26
29
  unix_ts: bool = False
27
30
  batch_size: int = 1
31
+ color: Literal["auto", "off", "always"] = "auto"
28
32
 
29
33
  def __post_init__(self):
30
34
  if self.level not in ["TRACE", "DEBUG", "INFO", "WARNING", "ERROR"]:
@@ -39,6 +43,11 @@ class LogConfig:
39
43
  f"Invalid level: {level} for logger name: {name}. Must be one of TRACE, DEBUG, INFO, WARNING, ERROR."
40
44
  )
41
45
 
46
+ if self.color not in ["auto", "off", "always"]:
47
+ raise ValueError(
48
+ f"Invalid color: {self.color}. Must be one of auto, off, always."
49
+ )
50
+
42
51
 
43
52
  @dataclass
44
53
  class BasicConfig:
@@ -54,6 +54,7 @@ def setup_nexus_core(
54
54
  name_levels: Mapping[str | None, str] | None = None,
55
55
  unix_ts: bool = False,
56
56
  batch_size: int | None = None,
57
+ color: str = "auto",
57
58
  ) -> tuple[Any, Any]:
58
59
  """
59
60
  Setup logging for the application using nexuslog and initialize MessageBus and Clock.
@@ -63,6 +64,7 @@ def setup_nexus_core(
63
64
  filename: Optional file path for log output. If None, logs to stdout.
64
65
  level: Minimum log level to record (TRACE, DEBUG, INFO, WARNING, ERROR)
65
66
  unix_ts: If True, emit unix timestamps instead of formatted local time.
67
+ color: ANSI colorization mode ("auto", "off", "always").
66
68
 
67
69
  Returns:
68
70
  tuple: (msgbus, clock) - MessageBus and LiveClock instances
@@ -98,6 +100,7 @@ def setup_nexus_core(
98
100
  name_levels=_name_levels,
99
101
  unix_ts=unix_ts,
100
102
  batch_size=batch_size,
103
+ color=color,
101
104
  )
102
105
 
103
106
  return msgbus, clock
@@ -74,6 +74,7 @@ class Engine:
74
74
  name_levels=self._config.log_config.name_levels,
75
75
  unix_ts=self._config.log_config.unix_ts,
76
76
  batch_size=self._config.log_config.batch_size,
77
+ color=self._config.log_config.color,
77
78
  )
78
79
 
79
80
  # Create logger instance for Engine