prediction-market-agent-tooling 0.22.0__tar.gz → 0.23.0__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.
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/PKG-INFO +1 -1
- prediction_market_agent_tooling-0.23.0/prediction_market_agent_tooling/loggers.py +75 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/pyproject.toml +1 -1
- prediction_market_agent_tooling-0.22.0/prediction_market_agent_tooling/loggers.py +0 -54
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/LICENSE +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/README.md +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/abis/wxdai.abi.json +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/config.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/deploy/agent.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/deploy/constants.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/gtypes.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/categorize.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/data_models.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/markets.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/monitor/langfuse/langfuse_wrapper.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/py.typed +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/balances.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/cache.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/contract.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/costs.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/gnosis_rpc.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/google.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/safe.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/singleton.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/utils.py +0 -0
- {prediction_market_agent_tooling-0.22.0 → prediction_market_agent_tooling-0.23.0}/prediction_market_agent_tooling/tools/web3_utils.py +0 -0
@@ -0,0 +1,75 @@
|
|
1
|
+
import logging
|
2
|
+
import sys
|
3
|
+
import warnings
|
4
|
+
from enum import Enum
|
5
|
+
|
6
|
+
from loguru import logger
|
7
|
+
from pydantic_settings import BaseSettings, SettingsConfigDict
|
8
|
+
|
9
|
+
|
10
|
+
class LogFormat(str, Enum):
|
11
|
+
DEFAULT = "default"
|
12
|
+
GCP = "gcp"
|
13
|
+
|
14
|
+
|
15
|
+
class LogConfig(BaseSettings):
|
16
|
+
model_config = SettingsConfigDict(
|
17
|
+
env_file=".env", env_file_encoding="utf-8", extra="ignore"
|
18
|
+
)
|
19
|
+
|
20
|
+
LOG_FORMAT: LogFormat = LogFormat.DEFAULT
|
21
|
+
|
22
|
+
|
23
|
+
GCP_LOG_LOGURU_FORMAT = (
|
24
|
+
"{level:<.1}{time:MMDD HH:mm:ss} {process} {name}:{line}] {message}"
|
25
|
+
)
|
26
|
+
GCP_LOG_LOGGING_FORMAT, GCP_LOG_FORMAT_LOGGING_DATEFMT = (
|
27
|
+
"%(levelname).1s%(asctime)s %(process)d %(name)s:%(lineno)d] %(message)s"
|
28
|
+
), "%m%d %H:%M:%S"
|
29
|
+
|
30
|
+
|
31
|
+
def patch_logger() -> None:
|
32
|
+
config = LogConfig()
|
33
|
+
|
34
|
+
if config.LOG_FORMAT == LogFormat.GCP:
|
35
|
+
format_loguru = GCP_LOG_LOGURU_FORMAT
|
36
|
+
format_logging = GCP_LOG_LOGGING_FORMAT
|
37
|
+
datefmt_logging = GCP_LOG_FORMAT_LOGGING_DATEFMT
|
38
|
+
|
39
|
+
elif config.LOG_FORMAT == LogFormat.DEFAULT:
|
40
|
+
format_loguru, format_logging, datefmt_logging = None, None, None
|
41
|
+
|
42
|
+
else:
|
43
|
+
raise ValueError(f"Unknown log format: {config.LOG_FORMAT}")
|
44
|
+
|
45
|
+
# Change built-in logging.
|
46
|
+
if format_logging is not None:
|
47
|
+
logging.basicConfig(
|
48
|
+
level=logging.DEBUG, format=format_logging, datefmt=datefmt_logging
|
49
|
+
)
|
50
|
+
|
51
|
+
# Change loguru.
|
52
|
+
if format_loguru is not None:
|
53
|
+
logger.remove()
|
54
|
+
logger.add(
|
55
|
+
sys.stdout,
|
56
|
+
format=format_loguru,
|
57
|
+
level="DEBUG", # Can be the lowest level, higher ones will use by default this one.
|
58
|
+
colorize=True,
|
59
|
+
)
|
60
|
+
|
61
|
+
# Change warning formatting to a simpler one (no source code in a new line).
|
62
|
+
warnings.formatwarning = simple_warning_format
|
63
|
+
# Use logging module for warnings.
|
64
|
+
logging.captureWarnings(True)
|
65
|
+
|
66
|
+
logger.info(f"Patched logger for {config.LOG_FORMAT.value} format.")
|
67
|
+
|
68
|
+
|
69
|
+
def simple_warning_format(message, category, filename, lineno, line=None): # type: ignore[no-untyped-def] # Not typed in the standard library neither.
|
70
|
+
return f"{category.__name__}: {message}"
|
71
|
+
|
72
|
+
|
73
|
+
if not getattr(logger, "_patched", False):
|
74
|
+
patch_logger()
|
75
|
+
logger._patched = True # type: ignore[attr-defined] # Hacky way to store a flag on the logger object, to not patch it multiple times.
|
@@ -1,54 +0,0 @@
|
|
1
|
-
import sys
|
2
|
-
import typing as t
|
3
|
-
from enum import Enum
|
4
|
-
|
5
|
-
from loguru import logger
|
6
|
-
from pydantic_settings import BaseSettings, SettingsConfigDict
|
7
|
-
|
8
|
-
if t.TYPE_CHECKING:
|
9
|
-
from loguru import Logger
|
10
|
-
|
11
|
-
|
12
|
-
class LogFormat(str, Enum):
|
13
|
-
DEFAULT = "default"
|
14
|
-
GCP = "gcp"
|
15
|
-
|
16
|
-
|
17
|
-
class LogConfig(BaseSettings):
|
18
|
-
model_config = SettingsConfigDict(
|
19
|
-
env_file=".env", env_file_encoding="utf-8", extra="ignore"
|
20
|
-
)
|
21
|
-
|
22
|
-
LOG_FORMAT: LogFormat = LogFormat.DEFAULT
|
23
|
-
|
24
|
-
|
25
|
-
GCP_LOG_FORMAT = "{level:<.1}{time:MMDD HH:mm:ss.SSSSSS} {process} {name}:{line}] {message} | {extra}"
|
26
|
-
|
27
|
-
|
28
|
-
def patch_logger(logger: "Logger") -> None:
|
29
|
-
config = LogConfig()
|
30
|
-
|
31
|
-
if config.LOG_FORMAT == LogFormat.GCP:
|
32
|
-
format_ = GCP_LOG_FORMAT
|
33
|
-
|
34
|
-
elif config.LOG_FORMAT == LogFormat.DEFAULT:
|
35
|
-
format_ = None
|
36
|
-
|
37
|
-
else:
|
38
|
-
raise ValueError(f"Unknown log format: {config.LOG_FORMAT}")
|
39
|
-
|
40
|
-
if format_ is not None:
|
41
|
-
logger.remove()
|
42
|
-
logger.add(
|
43
|
-
sys.stdout,
|
44
|
-
format=format_,
|
45
|
-
level="DEBUG", # Can be the lowest level, higher ones will use by default this one.
|
46
|
-
colorize=True,
|
47
|
-
)
|
48
|
-
|
49
|
-
logger.info(f"Patched logger for {config.LOG_FORMAT.value} format.")
|
50
|
-
|
51
|
-
|
52
|
-
if not getattr(logger, "_patched", False):
|
53
|
-
patch_logger(logger)
|
54
|
-
logger._patched = True # type: ignore[attr-defined] # Hacky way to store a flag on the logger object, to not patch it multiple times.
|
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
|