forecasting-tools 0.3.3__tar.gz → 0.3.4__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 (228) hide show
  1. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/PKG-INFO +1 -1
  2. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/metaculus_client.py +28 -19
  3. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/pyproject.toml +1 -1
  4. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/LICENSE +0 -0
  5. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/README.md +0 -0
  6. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/__init__.py +0 -0
  7. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/__init__.py +0 -0
  8. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/ai_congress_v2/__init__.py +0 -0
  9. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/ai_congress_v2/congress_member_agent.py +0 -0
  10. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/ai_congress_v2/congress_orchestrator.py +0 -0
  11. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/ai_congress_v2/data_models.py +0 -0
  12. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/ai_congress_v2/member_profiles.py +0 -0
  13. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/ai_congress_v2/tools.py +0 -0
  14. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/base_rates/base_rate_researcher.py +0 -0
  15. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/base_rates/deduplicator.py +0 -0
  16. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/base_rates/estimator.py +0 -0
  17. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/base_rates/niche_list_researcher.py +0 -0
  18. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/deprecated/configured_llms.py +0 -0
  19. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/deprecated/general_researcher.py +0 -0
  20. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/deprecated/question_generator.py +0 -0
  21. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/deprecated/question_responder.py +0 -0
  22. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/deprecated/question_router.py +0 -0
  23. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/deprecated/research_coordinator.py +0 -0
  24. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/minor_tools.py +0 -0
  25. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/other/data_analyzer.py +0 -0
  26. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/other/hosted_file.py +0 -0
  27. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/question_generators/generated_question.py +0 -0
  28. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/question_generators/harmful_question_identifier.py +0 -0
  29. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/question_generators/q3_q4_quarterly_questions.json +0 -0
  30. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/question_generators/question_decomposer.py +0 -0
  31. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/question_generators/question_operationalizer.py +0 -0
  32. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/question_generators/simple_question.py +0 -0
  33. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/question_generators/topic_generator.py +0 -0
  34. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/research/computer_use.py +0 -0
  35. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/research/find_a_dataset.py +0 -0
  36. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/research/key_factors_researcher.py +0 -0
  37. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/research/smart_searcher.py +0 -0
  38. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/__init__.py +0 -0
  39. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/agent_runner.py +0 -0
  40. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/data_models.py +0 -0
  41. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/effect_engine.py +0 -0
  42. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/industrial_basin.json +0 -0
  43. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/milbrook.json +0 -0
  44. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/simple_business.json +0 -0
  45. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/simple_dnd.json +0 -0
  46. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/simple_election.json +0 -0
  47. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/willowbrook.json +0 -0
  48. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/z_broken_mafia.json +0 -0
  49. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/__init__.py +0 -0
  50. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/data_models.py +0 -0
  51. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/forecast_resolver.py +0 -0
  52. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/intervention_policy_agent.py +0 -0
  53. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/intervention_runner.py +0 -0
  54. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/intervention_storage.py +0 -0
  55. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/simulator.py +0 -0
  56. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/situation_simulator/situation_generator.py +0 -0
  57. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/README.md +0 -0
  58. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/__init__.py +0 -0
  59. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/benchmark.py +0 -0
  60. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/canonicalize.py +0 -0
  61. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/catalog.py +0 -0
  62. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/cli.py +0 -0
  63. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/config.py +0 -0
  64. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/content_store.py +0 -0
  65. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/cost.py +0 -0
  66. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/coverage.py +0 -0
  67. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/__init__.py +0 -0
  68. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/base.py +0 -0
  69. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/cloakbrowser_fetcher.py +0 -0
  70. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/firecrawl_fetcher.py +0 -0
  71. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/hyperbrowser_fetcher.py +0 -0
  72. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/pdf_fetcher.py +0 -0
  73. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/playwright_fetcher.py +0 -0
  74. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/fetchers/tiered.py +0 -0
  75. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/ingest/__init__.py +0 -0
  76. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/ingest/trace_extraction.py +0 -0
  77. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/ingest/url_extraction.py +0 -0
  78. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/layout.py +0 -0
  79. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/manifest.py +0 -0
  80. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/models.py +0 -0
  81. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/pipeline.py +0 -0
  82. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/quality.py +0 -0
  83. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/reindex.py +0 -0
  84. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/reports.py +0 -0
  85. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/storage/__init__.py +0 -0
  86. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/storage/blob_store.py +0 -0
  87. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/storage/local_store.py +0 -0
  88. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/storage/s3_store.py +0 -0
  89. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/agents_and_tools/source_archive/viewer.py +0 -0
  90. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/__init__.py +0 -0
  91. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/agent_wrappers.py +0 -0
  92. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/ai_utils/__init__.py +0 -0
  93. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/ai_utils/openai_utils.py +0 -0
  94. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/ai_utils/response_types.py +0 -0
  95. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/README.md +0 -0
  96. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/claude35sonnet.py +0 -0
  97. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/deepseek_r1.py +0 -0
  98. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/gpt4o.py +0 -0
  99. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/gpt4ovision.py +0 -0
  100. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/gpto1.py +0 -0
  101. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/gpto1preview.py +0 -0
  102. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/metaculus4o.py +0 -0
  103. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/deprecated_model_classes/perplexity.py +0 -0
  104. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/exa_searcher.py +0 -0
  105. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/general_llm.py +0 -0
  106. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/__init__.py +0 -0
  107. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/ai_model.py +0 -0
  108. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/combined_llm_archetype.py +0 -0
  109. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/incurs_cost.py +0 -0
  110. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/named_model.py +0 -0
  111. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/outputs_text.py +0 -0
  112. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/priced_per_request.py +0 -0
  113. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/request_limited_model.py +0 -0
  114. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/retryable_model.py +0 -0
  115. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/time_limited_model.py +0 -0
  116. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/token_limited_model.py +0 -0
  117. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/tokens_are_calculatable.py +0 -0
  118. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_interfaces/tokens_incur_cost.py +0 -0
  119. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/model_tracker.py +0 -0
  120. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/resource_managers/__init__.py +0 -0
  121. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/resource_managers/hard_limit_manager.py +0 -0
  122. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/resource_managers/monetary_cost_manager.py +0 -0
  123. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/ai_models/resource_managers/refreshing_bucket_rate_limiter.py +0 -0
  124. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/auto_optimizers/bot_evaluator.py +0 -0
  125. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/auto_optimizers/bot_optimizer.py +0 -0
  126. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/auto_optimizers/control_prompt.py +0 -0
  127. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/auto_optimizers/customizable_bot.py +0 -0
  128. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/auto_optimizers/prompt_data_models.py +0 -0
  129. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/auto_optimizers/prompt_optimizer.py +0 -0
  130. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/auto_optimizers/question_plus_research.py +0 -0
  131. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/.gitignore +0 -0
  132. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/__init__.py +0 -0
  133. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/_training_data.py +0 -0
  134. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/benchmark.ipynb +0 -0
  135. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/calibration_adjuster.py +0 -0
  136. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/constant_shift_adjuster.py +0 -0
  137. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/decision_tree_adjuster.py +0 -0
  138. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/k_means_adjuster.py +0 -0
  139. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/logistic_recalibration_adjuster.py +0 -0
  140. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/calibration_adjustment/step_adjuster.py +0 -0
  141. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/cp_benchmarking/benchmark_displayer.py +0 -0
  142. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/cp_benchmarking/benchmark_for_bot.py +0 -0
  143. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/cp_benchmarking/benchmarker.py +0 -0
  144. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/__init__.py +0 -0
  145. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/binary_report.py +0 -0
  146. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/coherence_link.py +0 -0
  147. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/conditional_models.py +0 -0
  148. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/conditional_report.py +0 -0
  149. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/data_organizer.py +0 -0
  150. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/forecast_report.py +0 -0
  151. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/markdown_tree.py +0 -0
  152. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/multiple_choice_report.py +0 -0
  153. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/numeric_report.py +0 -0
  154. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/questions.py +0 -0
  155. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/timestamped_predictions.py +0 -0
  156. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/data_models/user_response.py +0 -0
  157. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/__init__.py +0 -0
  158. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/bot_lists.py +0 -0
  159. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/__init__.py +0 -0
  160. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q1_veritas_bot.py +0 -0
  161. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q1t_w_convert_to_binary.py +0 -0
  162. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q1t_w_personas_and_exa.py +0 -0
  163. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q2t_w_decomposition.py +0 -0
  164. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q3t_w_asknews.py +0 -0
  165. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q3t_w_exa.py +0 -0
  166. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q3t_w_q4vbinary.py +0 -0
  167. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q4_veritas_bot.py +0 -0
  168. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q4v_w_exa.py +0 -0
  169. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q4v_w_exa_and_dseekr1.py +0 -0
  170. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/experiments/q4v_w_exa_and_o1_preview.py +0 -0
  171. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/forecast_bot.py +0 -0
  172. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/main_bot.py +0 -0
  173. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/__init__.py +0 -0
  174. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/gpt_4_1_optimized_bot.py +0 -0
  175. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/no_research_one_shot_bot.py +0 -0
  176. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/q1_template_bot.py +0 -0
  177. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/q2_template_bot.py +0 -0
  178. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/q3_template_bot.py +0 -0
  179. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/q4_template_bot.py +0 -0
  180. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/research_only_bot_2025_fall.py +0 -0
  181. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/template_bot_2025_fall.py +0 -0
  182. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/template_bot_2026_fall.py +0 -0
  183. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/template_bot_2026_spring.py +0 -0
  184. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/template_bot_2026_summer.py +0 -0
  185. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/official_bots/uniform_probability_bot.py +0 -0
  186. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/forecast_bots/template_bot.py +0 -0
  187. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/Home.py +0 -0
  188. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/__init__.py +0 -0
  189. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/base_rate_page.py +0 -0
  190. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/benchmark_page.py +0 -0
  191. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/chat_page.py +0 -0
  192. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/congress_v2_page.py +0 -0
  193. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/csv_agent.py +0 -0
  194. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/estimator_page.py +0 -0
  195. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/forecaster_page.py +0 -0
  196. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/intervention_leaderboard_page.py +0 -0
  197. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/key_factors_page.py +0 -0
  198. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/niche_list_researcher_page.py +0 -0
  199. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/app_pages/simulator_page.py +0 -0
  200. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/base_rate_page_examples.json +0 -0
  201. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/congress_page_example.json +0 -0
  202. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/congress_v2_page_example.json +0 -0
  203. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/estimator_page_examples.json +0 -0
  204. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/forecast_page_examples.json +0 -0
  205. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/key_factors_page_examples.json +0 -0
  206. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/niche_list_page_examples.json +0 -0
  207. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/example_outputs/question_generator_page_examples.json +0 -0
  208. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/helpers/app_page.py +0 -0
  209. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/helpers/custom_auth.py +0 -0
  210. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/helpers/report_displayer.py +0 -0
  211. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/front_end/helpers/tool_page.py +0 -0
  212. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/__init__.py +0 -0
  213. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/asknews_cache.py +0 -0
  214. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/asknews_searcher.py +0 -0
  215. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/forecast_database_manager.py +0 -0
  216. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/metaculus_api.py +0 -0
  217. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/prediction_extractor.py +0 -0
  218. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/structure_output.py +0 -0
  219. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/helpers/works_cited_creator.py +0 -0
  220. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/__init__.py +0 -0
  221. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/async_batching.py +0 -0
  222. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/coda_utils.py +0 -0
  223. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/custom_logger.py +0 -0
  224. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/file_manipulation.py +0 -0
  225. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/jsonable.py +0 -0
  226. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/misc.py +0 -0
  227. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/optional_imports.py +0 -0
  228. {forecasting_tools-0.3.3 → forecasting_tools-0.3.4}/forecasting_tools/util/stats.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forecasting-tools
3
- Version: 0.3.3
3
+ Version: 0.3.4
4
4
  Summary: AI forecasting and research tools to help humans reason about and forecast the future
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -1217,13 +1217,14 @@ class MetaculusClient:
1217
1217
 
1218
1218
  @retry_with_exponential_backoff()
1219
1219
  def create_question(
1220
- self, question: MetaculusQuestion, author_username: str | None = None
1220
+ self, question: MetaculusQuestion, acting_user: str | int | None = None
1221
1221
  ) -> MetaculusQuestion:
1222
1222
  """
1223
- Setting author_username creates the post as that user, which requires
1224
- the API token to belong to a Metaculus superuser.
1223
+ Setting acting_user (a username or user id) creates the post with that user
1224
+ as author. The API token must own that bot, be allowed to act as metac bots,
1225
+ or belong to a superuser.
1225
1226
  """
1226
- question_data = self._get_post_create_data(question, author_username)
1227
+ question_data = self._get_post_create_data(question, acting_user)
1227
1228
  self._sleep_between_requests()
1228
1229
  response = requests.post(
1229
1230
  f"{self.base_url}/posts/create/",
@@ -1251,15 +1252,8 @@ class MetaculusClient:
1251
1252
  single_created_question.id_of_post
1252
1253
  )
1253
1254
 
1254
- if author_username is not None:
1255
- actual_author = full_created_question.api_json.get("author_username")
1256
- if actual_author != author_username:
1257
- raise AuthorMismatchError(
1258
- f"Post {full_created_question.id_of_post} was created with author "
1259
- f"{actual_author!r} instead of {author_username!r} and has not been "
1260
- "approved. Either the API token is not a superuser or the server "
1261
- "ignored the author override."
1262
- )
1255
+ if acting_user is not None:
1256
+ self._raise_if_author_is_not_acting_user(full_created_question, acting_user)
1263
1257
 
1264
1258
  return full_created_question
1265
1259
 
@@ -1305,19 +1299,34 @@ class MetaculusClient:
1305
1299
  raise_for_status_with_additional_info(response)
1306
1300
  logger.info(f"Approved question {question.page_url}")
1307
1301
 
1302
+ @staticmethod
1303
+ def _raise_if_author_is_not_acting_user(
1304
+ question: MetaculusQuestion, acting_user: str | int
1305
+ ) -> None:
1306
+ if str(acting_user).isdigit():
1307
+ actual_author = question.api_json.get("author_id")
1308
+ expected_author = int(acting_user)
1309
+ else:
1310
+ actual_author = question.api_json.get("author_username")
1311
+ expected_author = acting_user
1312
+ if actual_author != expected_author:
1313
+ raise AuthorMismatchError(
1314
+ f"Post {question.id_of_post} was created with author "
1315
+ f"{actual_author!r} instead of {expected_author!r} and has not been "
1316
+ "approved. The server likely ignored the acting_user field."
1317
+ )
1318
+
1308
1319
  @staticmethod
1309
1320
  def _get_post_create_data(
1310
- question: MetaculusQuestion, author_username: str | None = None
1321
+ question: MetaculusQuestion, acting_user: str | int | None = None
1311
1322
  ) -> dict:
1312
1323
  if question.published_time is None:
1313
1324
  publish_time = question.open_time
1314
1325
  else:
1315
1326
  publish_time = question.published_time
1316
1327
 
1317
- author_override_fields = (
1318
- {"author_username": author_username, "is_staff_override": True}
1319
- if author_username is not None
1320
- else {}
1328
+ acting_user_fields = (
1329
+ {"acting_user": acting_user} if acting_user is not None else {}
1321
1330
  )
1322
1331
 
1323
1332
  return {
@@ -1383,5 +1392,5 @@ class MetaculusClient:
1383
1392
  "fine_print": question.fine_print or "",
1384
1393
  "group_rank": None, # only group questions
1385
1394
  },
1386
- **author_override_fields,
1395
+ **acting_user_fields,
1387
1396
  }
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "forecasting-tools"
3
- version = "0.3.3"
3
+ version = "0.3.4"
4
4
  description = "AI forecasting and research tools to help humans reason about and forecast the future"
5
5
  authors = ["Benjamin Wilson <ben@metaculus.com>"]
6
6
  license = "MIT"