prediction-market-agent-tooling 0.64.2.dev603__tar.gz → 0.64.3__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 (130) hide show
  1. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/PKG-INFO +2 -1
  2. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/loggers.py +47 -43
  3. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/caches/db_cache.py +12 -0
  4. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/pyproject.toml +2 -1
  5. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/LICENSE +0 -0
  6. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/README.md +0 -0
  7. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
  8. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  9. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  10. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/erc721.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/gvp2_settlement.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_agentresultmapping.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  19. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  20. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  21. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  22. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/ownable.abi.json +0 -0
  23. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
  24. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  25. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/seer_gnosis_router.abi.json +0 -0
  26. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/abis/seer_market_factory.abi.json +0 -0
  27. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  28. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  29. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  30. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  31. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/config.py +0 -0
  32. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/agent.py +0 -0
  33. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  34. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
  35. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  36. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  37. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  38. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  39. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
  40. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/gtypes.py +0 -0
  41. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
  42. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
  43. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
  44. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  45. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
  46. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/blockchain_utils.py +0 -0
  47. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  48. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  49. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  50. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  51. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  52. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  53. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  54. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
  55. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/markets.py +0 -0
  56. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  57. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  58. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  59. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  60. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/cow_contracts.py +0 -0
  61. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  62. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  63. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/omen_constants.py +0 -0
  64. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  65. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  66. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  67. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  68. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  69. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  70. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  71. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  72. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/seer/data_models.py +0 -0
  73. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/seer/price_manager.py +0 -0
  74. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/seer/seer.py +0 -0
  75. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/seer/seer_contracts.py +0 -0
  76. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +0 -0
  77. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/markets/seer/subgraph_data_models.py +0 -0
  78. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py +0 -0
  79. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  80. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  81. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  82. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  83. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  84. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  85. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  86. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/py.typed +0 -0
  87. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/_generic_value.py +0 -0
  88. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/balances.py +0 -0
  89. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  90. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  91. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  92. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  93. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
  94. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
  95. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
  96. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/contract.py +0 -0
  97. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/costs.py +0 -0
  98. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/cow/cow_order.py +0 -0
  99. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
  100. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
  101. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
  102. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
  103. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  104. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
  105. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  106. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  107. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
  108. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
  109. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  110. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
  111. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +0 -0
  112. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
  113. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/omen/sell_positions.py +0 -0
  114. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  115. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
  116. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
  117. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
  118. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/safe.py +0 -0
  119. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  120. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  121. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
  122. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
  123. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/tokens/auto_deposit.py +0 -0
  124. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +0 -0
  125. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/tokens/main_token.py +0 -0
  126. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/tokens/token_utils.py +0 -0
  127. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/tokens/usd.py +0 -0
  128. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
  129. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/utils.py +0 -0
  130. {prediction_market_agent_tooling-0.64.2.dev603 → prediction_market_agent_tooling-0.64.3}/prediction_market_agent_tooling/tools/web3_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.64.2.dev603
3
+ Version: 0.64.3
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.13
@@ -46,6 +46,7 @@ Requires-Dist: pydantic-settings (>=2.4.0,<3.0.0)
46
46
  Requires-Dist: pymongo (>=4.8.0,<5.0.0)
47
47
  Requires-Dist: pytest-postgresql (>=6.1.1,<7.0.0)
48
48
  Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
49
+ Requires-Dist: python-json-logger (>=3.3.0,<4.0.0)
49
50
  Requires-Dist: safe-cli (>=1.0.0,<2.0.0)
50
51
  Requires-Dist: safe-eth-py (>=6.0.0b41,<7.0.0)
51
52
  Requires-Dist: scikit-learn (>=1.3.1,<2.0.0)
@@ -2,11 +2,12 @@ import builtins
2
2
  import logging
3
3
  import sys
4
4
  import typing as t
5
- import warnings
6
5
  from enum import Enum
7
6
 
7
+ import typer.main
8
8
  from loguru import logger
9
9
  from pydantic_settings import BaseSettings, SettingsConfigDict
10
+ from pythonjsonlogger import jsonlogger
10
11
 
11
12
 
12
13
  class LogFormat(str, Enum):
@@ -31,17 +32,35 @@ class LogConfig(BaseSettings):
31
32
  LOG_LEVEL: LogLevel = LogLevel.DEBUG
32
33
 
33
34
 
34
- class NoNewLineStreamHandler(logging.StreamHandler): # type: ignore # StreamHandler is not typed in the standard library.
35
- def format(self, record: logging.LogRecord) -> str:
36
- return super().format(record).replace("\n", " ")
37
-
35
+ class _CustomJsonFormatter(jsonlogger.JsonFormatter):
36
+ def add_fields(
37
+ self,
38
+ log_record: dict[str, t.Any],
39
+ record: logging.LogRecord,
40
+ message_dict: dict[str, t.Any],
41
+ ) -> None:
42
+ super().add_fields(log_record, record, message_dict)
43
+ # Include "level" and "severity" with the same value as "levelname" to be friendly with log aggregators.
44
+ if log_record.get("levelname"):
45
+ log_record["level"] = log_record["levelname"]
46
+ log_record["severity"] = log_record["levelname"]
47
+
48
+ @staticmethod
49
+ def get_handler() -> logging.StreamHandler: # type: ignore # Seems correct, but mypy doesn't like it.
50
+ logHandler = logging.StreamHandler()
51
+ formatter = _CustomJsonFormatter("%(asctime)s %(levelname)s %(message)s")
52
+ logHandler.setFormatter(formatter)
53
+ return logHandler
54
+
55
+
56
+ def _handle_exception(
57
+ exc_type: type[BaseException], exc_value: BaseException, exc_traceback: t.Any
58
+ ) -> None:
59
+ if issubclass(exc_type, KeyboardInterrupt):
60
+ sys.__excepthook__(exc_type, exc_value, exc_traceback)
61
+ return
38
62
 
39
- GCP_LOG_LOGURU_FORMAT = (
40
- "{level:<.1}{time:MMDD HH:mm:ss} {process} {name}:{line}] {message}"
41
- )
42
- GCP_LOG_LOGGING_FORMAT, GCP_LOG_FORMAT_LOGGING_DATEFMT = (
43
- "%(levelname).1s%(asctime)s %(process)d %(name)s:%(lineno)d] %(message)s"
44
- ), "%m%d %H:%M:%S"
63
+ logger.error("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))
45
64
 
46
65
 
47
66
  def patch_logger() -> None:
@@ -57,49 +76,44 @@ def patch_logger() -> None:
57
76
  config = LogConfig()
58
77
 
59
78
  if config.LOG_FORMAT == LogFormat.GCP:
60
- format_loguru = GCP_LOG_LOGURU_FORMAT
61
- format_logging = GCP_LOG_LOGGING_FORMAT
62
- datefmt_logging = GCP_LOG_FORMAT_LOGGING_DATEFMT
63
- print_logging = print_using_loguru_info
64
- handlers: list[logging.Handler] | None = [NoNewLineStreamHandler()]
79
+ handler = _CustomJsonFormatter.get_handler()
80
+ print_logging = print_using_logger_info
81
+ sys.excepthook = _handle_exception
82
+ typer.main.except_hook = _handle_exception # type: ignore # Monkey patching, it's messy but it works.
65
83
 
66
84
  elif config.LOG_FORMAT == LogFormat.DEFAULT:
67
- format_loguru, format_logging, datefmt_logging = None, None, None
85
+ handler = None
68
86
  print_logging = None
69
- handlers = None
70
87
 
71
88
  else:
72
89
  raise ValueError(f"Unknown log format: {config.LOG_FORMAT}")
73
90
 
74
91
  # Change built-in logging.
75
- if format_logging is not None:
92
+ if handler is not None:
76
93
  logging.basicConfig(
77
94
  level=config.LOG_LEVEL.value,
78
- format=format_logging,
79
- datefmt=datefmt_logging,
80
- handlers=handlers,
95
+ handlers=[handler],
81
96
  )
82
-
83
97
  # Configure all existing loggers
84
98
  for logger_name in logging.root.manager.loggerDict:
85
99
  existing_logger = logging.getLogger(logger_name)
86
100
  existing_logger.setLevel(config.LOG_LEVEL.value)
87
- if handlers is not None:
88
- existing_logger.handlers = handlers
101
+ # Remove existing handlers
102
+ if existing_logger.hasHandlers():
103
+ existing_logger.handlers.clear()
104
+ # And add ours only
105
+ existing_logger.addHandler(handler)
89
106
  existing_logger.propagate = False
90
107
 
91
108
  # Change loguru.
92
- if format_loguru is not None:
109
+ if handler is not None:
93
110
  logger.remove()
94
111
  logger.add(
95
- sys.stdout,
96
- format=format_loguru,
112
+ handler,
97
113
  level=config.LOG_LEVEL.value,
98
- colorize=True,
114
+ colorize=False,
99
115
  )
100
116
 
101
- # Change warning formatting to a simpler one (no source code in a new line).
102
- warnings.formatwarning = simple_warning_format
103
117
  # Use logging module for warnings.
104
118
  logging.captureWarnings(True)
105
119
 
@@ -110,23 +124,13 @@ def patch_logger() -> None:
110
124
  logger.info(f"Patched logger for {config.LOG_FORMAT.value} format.")
111
125
 
112
126
 
113
- def print_using_loguru_info(
127
+ def print_using_logger_info(
114
128
  *values: object,
115
129
  sep: str = " ",
116
130
  end: str = "\n",
117
131
  **kwargs: t.Any,
118
132
  ) -> None:
119
- message = sep.join(map(str, values)) + end
120
- message = message.strip().replace(
121
- "\n", "\\n"
122
- ) # Escape new lines, because otherwise logs will be broken.
123
- logger.info(message)
124
-
125
-
126
- def simple_warning_format(message, category, filename, lineno, line=None): # type: ignore[no-untyped-def] # Not typed in the standard library neither.
127
- return f"{category.__name__}: {message}".strip().replace(
128
- "\n", "\\n"
129
- ) # Escape new lines, because otherwise logs will be broken.
133
+ logger.info(sep.join(map(str, values)) + end)
130
134
 
131
135
 
132
136
  patch_logger()
@@ -3,6 +3,7 @@ import inspect
3
3
  import json
4
4
  from datetime import timedelta
5
5
  from functools import wraps
6
+ from types import UnionType
6
7
  from typing import (
7
8
  Any,
8
9
  Callable,
@@ -276,6 +277,17 @@ def convert_cached_output_to_pydantic(return_type: Any, data: Any) -> Any:
276
277
  ): convert_cached_output_to_pydantic(value_type, v)
277
278
  for k, v in data.items()
278
279
  }
280
+ # If the origin is a union and one of the unions is basemodel, convert it to it.
281
+ elif (
282
+ origin is UnionType
283
+ and (
284
+ base_model_from_args := next(
285
+ (x for x in args if issubclass(x, BaseModel)), None
286
+ )
287
+ )
288
+ is not None
289
+ ):
290
+ return base_model_from_args.model_validate(data)
279
291
  else:
280
292
  # If the origin is not a dictionary, return the data as is
281
293
  return data
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.64.2.dev603"
3
+ version = "0.64.3"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"
@@ -60,6 +60,7 @@ eth-keys = "^0.6.1"
60
60
  proto-plus = "^1.0.0"
61
61
  protobuf = "^5.0.0"
62
62
  types-cachetools = "^5.5.0.20240820"
63
+ python-json-logger = "^3.3.0"
63
64
 
64
65
  [tool.poetry.extras]
65
66
  openai = ["openai"]