prediction-market-agent-tooling 0.33.0__tar.gz → 0.34.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.
Files changed (72) hide show
  1. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/PKG-INFO +2 -2
  2. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/manifold/data_models.py +1 -1
  3. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/monitor/monitor.py +36 -5
  4. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/pyproject.toml +2 -2
  5. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/LICENSE +0 -0
  6. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/README.md +0 -0
  7. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  8. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  9. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  10. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/abis/wxdai.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  17. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  18. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  19. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  20. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/config.py +0 -0
  21. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/deploy/agent.py +0 -0
  22. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  23. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  24. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  25. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  26. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  27. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/gtypes.py +0 -0
  28. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/loggers.py +0 -0
  29. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  30. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  31. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  32. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  33. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  34. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  35. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  36. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/markets.py +0 -0
  37. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  38. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  39. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  40. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  41. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  42. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  43. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  44. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  45. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  46. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  47. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  48. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/monitor/langfuse/langfuse_wrapper.py +0 -0
  49. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  50. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  51. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  52. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  53. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  54. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/py.typed +0 -0
  55. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/balances.py +0 -0
  56. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  57. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  58. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  59. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  60. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/cache.py +0 -0
  61. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/contract.py +0 -0
  62. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/costs.py +0 -0
  63. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/gnosis_rpc.py +0 -0
  64. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/google.py +0 -0
  65. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  66. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  67. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  68. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/safe.py +0 -0
  69. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  70. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  71. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/utils.py +0 -0
  72. {prediction_market_agent_tooling-0.33.0 → prediction_market_agent_tooling-0.34.0}/prediction_market_agent_tooling/tools/web3_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.33.0
3
+ Version: 0.34.0
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.12
@@ -35,7 +35,7 @@ Requires-Dist: streamlit (>=1.31.0,<2.0.0)
35
35
  Requires-Dist: subgrounds (>=1.8.1,<2.0.0)
36
36
  Requires-Dist: tabulate (>=0.9.0,<0.10.0)
37
37
  Requires-Dist: tqdm (>=4.66.2,<5.0.0)
38
- Requires-Dist: typer (>=0.9.0,<0.10.0)
38
+ Requires-Dist: typer (>=0.12.3,<0.13.0)
39
39
  Requires-Dist: types-pytz (>=2024.1.0.20240203,<2025.0.0.0)
40
40
  Requires-Dist: types-requests (>=2.31.0.0,<3.0.0.0)
41
41
  Requires-Dist: web3 (>=6.15.1,<7.0.0)
@@ -79,7 +79,7 @@ class ManifoldMarket(BaseModel):
79
79
  """
80
80
  Clip the timestamp to the maximum valid timestamp.
81
81
  """
82
- max_timestamp = (datetime.max - timedelta(hours=1)).timestamp()
82
+ max_timestamp = (datetime.max - timedelta(days=1)).timestamp()
83
83
  value = int(min(value / 1000, max_timestamp))
84
84
  return datetime.fromtimestamp(value)
85
85
 
@@ -185,7 +185,7 @@ def monitor_agent(agent: DeployedAgent) -> None:
185
185
  col3.markdown(f"Public ID: `{agent.public_id}`")
186
186
 
187
187
  show_agent_bets = st.checkbox(
188
- "Show resolved bets", value=False, key=f"{agent.name}_show_bets"
188
+ "Show resolved bets statistics", value=False, key=f"{agent.name}_show_bets"
189
189
  )
190
190
  if not show_agent_bets:
191
191
  return
@@ -203,16 +203,43 @@ def monitor_agent(agent: DeployedAgent) -> None:
203
203
  "Is Correct": [bet.is_correct for bet in agent_bets],
204
204
  "Profit": [round(bet.profit.amount, 2) for bet in agent_bets],
205
205
  }
206
- bets_df = pd.DataFrame(bets_info).sort_values(by="Resolved Time")
206
+
207
+ # Time column to use for x-axes and sorting
208
+ x_axis_column = st.selectbox(
209
+ "X-axis column",
210
+ ["Created Time", "Resolved Time"],
211
+ key=f"{agent.name}_x_axis_column",
212
+ )
213
+
214
+ bets_df = pd.DataFrame(bets_info).sort_values(by=x_axis_column, ascending=False)
215
+ bets_df["x-axis-day"] = bets_df[x_axis_column].dt.date
207
216
 
208
217
  # Metrics
209
218
  col1, col2 = st.columns(2)
210
219
  col1.metric(label="Number of bets", value=f"{len(agent_bets)}")
211
220
  col2.metric(label="% Correct", value=f"{100 * bets_df['Is Correct'].mean():.2f}%")
212
221
 
222
+ # Chart of grouped accuracy per day
223
+ per_day_accuracy = bets_df.groupby("x-axis-day")["Is Correct"].mean()
224
+ per_day_accuracy_chart = (
225
+ alt.Chart(per_day_accuracy.reset_index())
226
+ .encode(
227
+ x=alt.X("x-axis-day", axis=alt.Axis(format="%Y-%m-%d"), title=None),
228
+ y=alt.Y("Is Correct", axis=alt.Axis(format=".2f")),
229
+ )
230
+ .interactive()
231
+ )
232
+ st.altair_chart(
233
+ per_day_accuracy_chart.mark_line()
234
+ + per_day_accuracy_chart.transform_loess("x-axis-day", "Is Correct").mark_line(
235
+ color="red", strokeDash=[5, 5]
236
+ ),
237
+ use_container_width=True,
238
+ )
239
+
213
240
  # Chart of cumulative profit per day
214
241
  profit_info = {
215
- "Time": bets_df["Resolved Time"],
242
+ "Time": bets_df[x_axis_column],
216
243
  "Cumulative Profit": bets_df["Profit"].astype(float),
217
244
  }
218
245
  profit_df = pd.DataFrame(profit_info)
@@ -233,8 +260,12 @@ def monitor_agent(agent: DeployedAgent) -> None:
233
260
  )
234
261
 
235
262
  # Table of resolved bets
236
- st.subheader("Resolved Bet History")
237
- st.table(bets_df)
263
+ show_bet_history = st.checkbox(
264
+ "Show resolved bet history", value=False, key=f"{agent.name}_show_bet_history"
265
+ )
266
+ if show_bet_history:
267
+ st.subheader("Resolved Bet History")
268
+ st.table(bets_df.drop(columns=["x-axis-day"]))
238
269
 
239
270
 
240
271
  def monitor_market(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.33.0"
3
+ version = "0.34.0"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"
@@ -11,7 +11,7 @@ sell_omen = "scripts.bet_omen:sell"
11
11
 
12
12
  [tool.poetry.dependencies]
13
13
  python = ">=3.10,<3.12"
14
- typer = "^0.9.0"
14
+ typer = "^0.12.3"
15
15
  types-requests = "^2.31.0.0"
16
16
  google-cloud-functions = "^1.16.0"
17
17
  google-cloud-resource-manager = "^1.12.0"