prediction-market-agent-tooling 0.56.0.dev113__py3-none-any.whl → 0.56.0.dev1858__py3-none-any.whl

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.
@@ -555,18 +555,16 @@ class DeployableTraderAgent(DeployablePredictionAgent):
555
555
  BettingStrategy.assert_trades_currency_match_markets(market, trades)
556
556
  return trades
557
557
 
558
- def before_process_market(
559
- self, market_type: MarketType, market: AgentMarket
560
- ) -> None:
561
- super().before_process_market(market_type, market)
562
- self.check_min_required_balance_to_trade(market)
563
-
564
558
  def process_market(
565
559
  self,
566
560
  market_type: MarketType,
567
561
  market: AgentMarket,
568
562
  verify_market: bool = True,
569
563
  ) -> ProcessedTradedMarket | None:
564
+ self.check_min_required_balance_to_trade(
565
+ market
566
+ ) # Do this as part of `process_market` because it observes some methods --> To keep everything traced under the `process_market`.
567
+
570
568
  processed_market = super().process_market(market_type, market, verify_market)
571
569
  if processed_market is None:
572
570
  return None
@@ -31,6 +31,7 @@ class FunctionCache(SQLModel, table=True):
31
31
  __tablename__ = "function_cache"
32
32
  id: int | None = Field(default=None, primary_key=True)
33
33
  function_name: str = Field(index=True)
34
+ full_function_name: str = Field(index=True)
34
35
  # Args are stored to see what was the function called with.
35
36
  args: Any = Field(sa_column=Column(JSONB, nullable=False))
36
37
  # Args hash is stored as a fast look-up option when looking for cache hits.
@@ -148,8 +149,10 @@ def db_cache(
148
149
  arg_string = json.dumps(args_dict, sort_keys=True, default=str)
149
150
  args_hash = hashlib.md5(arg_string.encode()).hexdigest()
150
151
 
151
- # Get the function name as concat of module and qualname, to not accidentally clash
152
- function_name = func.__module__ + "." + func.__qualname__
152
+ # Get the full function name as concat of module and qualname, to not accidentally clash
153
+ full_function_name = func.__module__ + "." + func.__qualname__
154
+ # But also get the standard function name to easily search for it in database
155
+ function_name = func.__name__
153
156
 
154
157
  # Determine if the function returns or contains Pydantic BaseModel(s)
155
158
  return_type = func.__annotations__.get("return", None)
@@ -166,6 +169,7 @@ def db_cache(
166
169
  select(FunctionCache)
167
170
  .where(
168
171
  FunctionCache.function_name == function_name,
172
+ FunctionCache.full_function_name == full_function_name,
169
173
  FunctionCache.args_hash == args_hash,
170
174
  )
171
175
  .order_by(desc(FunctionCache.created_at))
@@ -179,7 +183,7 @@ def db_cache(
179
183
 
180
184
  if cached_result:
181
185
  logger.info(
182
- f"Cache hit for {function_name} with args {args_dict} and output {cached_result.result}"
186
+ f"Cache hit for {full_function_name} with args {args_dict} and output {cached_result.result}"
183
187
  )
184
188
  if is_pydantic_model:
185
189
  try:
@@ -196,7 +200,7 @@ def db_cache(
196
200
  # On cache miss, compute the result
197
201
  computed_result = func(*args, **kwargs)
198
202
  logger.info(
199
- f"Cache miss for {function_name} with args {args_dict}, computed the output {computed_result}"
203
+ f"Cache miss for {full_function_name} with args {args_dict}, computed the output {computed_result}"
200
204
  )
201
205
 
202
206
  # If postgres access was specified, save it to dB.
@@ -209,6 +213,7 @@ def db_cache(
209
213
  )
210
214
  cache_entry = FunctionCache(
211
215
  function_name=function_name,
216
+ full_function_name=full_function_name,
212
217
  args_hash=args_hash,
213
218
  args=args_dict,
214
219
  result=result_data,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.56.0.dev113
3
+ Version: 0.56.0.dev1858
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.12
@@ -17,7 +17,7 @@ prediction_market_agent_tooling/benchmark/agents.py,sha256=B1-uWdyeN4GGKMWGK_-Cc
17
17
  prediction_market_agent_tooling/benchmark/benchmark.py,sha256=MqTiaaJ3cYiOLUVR7OyImLWxcEya3Rl5JyFYW-K0lwM,17097
18
18
  prediction_market_agent_tooling/benchmark/utils.py,sha256=D0MfUkVZllmvcU0VOurk9tcKT7JTtwwOp-63zuCBVuc,2880
19
19
  prediction_market_agent_tooling/config.py,sha256=114f3V9abaok27p5jX3UVr5b5gRUiSxBIYn8Snid34I,6731
20
- prediction_market_agent_tooling/deploy/agent.py,sha256=5jIZ_Wqj9XALGINCkFp2bkNV33bAnUQ_r9oNGrNgDmA,22654
20
+ prediction_market_agent_tooling/deploy/agent.py,sha256=v6jnk8gY_ckF_Z8Slj408RLBadC5cZwx_nqV02TiThU,22642
21
21
  prediction_market_agent_tooling/deploy/agent_example.py,sha256=dIIdZashExWk9tOdyDjw87AuUcGyM7jYxNChYrVK2dM,1001
22
22
  prediction_market_agent_tooling/deploy/betting_strategy.py,sha256=kMrIE3wMv_IB6nJd_1DmDXDkEZhsXFOgyTd7JZ0gqHI,13068
23
23
  prediction_market_agent_tooling/deploy/constants.py,sha256=M5ty8URipYMGe_G-RzxRydK3AFL6CyvmqCraJUrLBnE,82
@@ -69,7 +69,7 @@ prediction_market_agent_tooling/tools/betting_strategies/market_moving.py,sha256
69
69
  prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py,sha256=-FUSuQQgjcWSSnoFxnlAyTeilY6raJABJVM2QKkFqAY,438
70
70
  prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py,sha256=THMXwFlskvzbjnX_OiYtDSzI8XVFyULWfP2525_9UGc,429
71
71
  prediction_market_agent_tooling/tools/betting_strategies/utils.py,sha256=kpIb-ci67Vc1Yqqaa-_S4OUkbhWSIYog4_Iwp69HU_k,97
72
- prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=xJ9zIXCUm0SaHbzWJOk61pGJaZZxCnIVSzpjIx1TxWY,11869
72
+ prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=2a1bIDQk1KmVcp6cR8nSDKyT7rWnBQ7oqmqLjw49sps,12196
73
73
  prediction_market_agent_tooling/tools/caches/inmemory_cache.py,sha256=tGHHd9HCiE_hCCtPtloHZQdDfBuiow9YsqJNYi2Tx_0,499
74
74
  prediction_market_agent_tooling/tools/contract.py,sha256=s3yo8IbXTcvAJcPfLM0_NbgaEsWwLsPmyVnOgyjq_xI,20919
75
75
  prediction_market_agent_tooling/tools/costs.py,sha256=EaAJ7v9laD4VEV3d8B44M4u3_oEO_H16jRVCdoZ93Uw,954
@@ -97,8 +97,8 @@ prediction_market_agent_tooling/tools/tavily/tavily_models.py,sha256=5ldQs1pZe6u
97
97
  prediction_market_agent_tooling/tools/tavily/tavily_search.py,sha256=Kw2mXNkMTYTEe1MBSTqhQmLoeXtgb6CkmHlcAJvhtqE,3809
98
98
  prediction_market_agent_tooling/tools/utils.py,sha256=W-9SqeCKd51BYMRhDjYPQ7lfNO_zE9EvYpmu2r5WXGA,7163
99
99
  prediction_market_agent_tooling/tools/web3_utils.py,sha256=44W8siSLNQxeib98bbwAe7V5C609NHNlUuxwuWIRDiY,11838
100
- prediction_market_agent_tooling-0.56.0.dev113.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
101
- prediction_market_agent_tooling-0.56.0.dev113.dist-info/METADATA,sha256=u9ZsAzD8yLPWsVdefl84VAyLTvhFI8D4lxRooHqnBRU,8113
102
- prediction_market_agent_tooling-0.56.0.dev113.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
103
- prediction_market_agent_tooling-0.56.0.dev113.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
104
- prediction_market_agent_tooling-0.56.0.dev113.dist-info/RECORD,,
100
+ prediction_market_agent_tooling-0.56.0.dev1858.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
101
+ prediction_market_agent_tooling-0.56.0.dev1858.dist-info/METADATA,sha256=K1Igqgk7hNSEVoHZ40ZW3x7s9_rjtsgDIGJ7HrH7nVk,8114
102
+ prediction_market_agent_tooling-0.56.0.dev1858.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
103
+ prediction_market_agent_tooling-0.56.0.dev1858.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
104
+ prediction_market_agent_tooling-0.56.0.dev1858.dist-info/RECORD,,