forecasting-tools 0.3.1__tar.gz → 0.3.2__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.
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/PKG-INFO +1 -1
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/ai_utils/response_types.py +1 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/general_llm.py +80 -1
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/questions.py +4 -1
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/pyproject.toml +1 -1
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/LICENSE +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/README.md +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/ai_congress_v2/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/ai_congress_v2/congress_member_agent.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/ai_congress_v2/congress_orchestrator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/ai_congress_v2/data_models.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/ai_congress_v2/member_profiles.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/ai_congress_v2/tools.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/base_rates/base_rate_researcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/base_rates/deduplicator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/base_rates/estimator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/base_rates/niche_list_researcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/deprecated/configured_llms.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/deprecated/general_researcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/deprecated/question_generator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/deprecated/question_responder.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/deprecated/question_router.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/deprecated/research_coordinator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/minor_tools.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/other/data_analyzer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/other/hosted_file.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/question_generators/generated_question.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/question_generators/harmful_question_identifier.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/question_generators/q3_q4_quarterly_questions.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/question_generators/question_decomposer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/question_generators/question_operationalizer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/question_generators/simple_question.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/question_generators/topic_generator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/research/computer_use.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/research/find_a_dataset.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/research/key_factors_researcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/research/smart_searcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/agent_runner.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/data_models.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/effect_engine.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/industrial_basin.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/milbrook.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/simple_business.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/simple_dnd.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/simple_election.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/willowbrook.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/example_situations/z_broken_mafia.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/data_models.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/forecast_resolver.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/intervention_policy_agent.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/intervention_runner.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/intervention_testing/intervention_storage.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/simulator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/situation_simulator/situation_generator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/README.md +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/benchmark.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/canonicalize.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/catalog.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/cli.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/config.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/content_store.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/cost.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/coverage.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/base.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/cloakbrowser_fetcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/firecrawl_fetcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/hyperbrowser_fetcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/pdf_fetcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/playwright_fetcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/fetchers/tiered.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/ingest/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/ingest/trace_extraction.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/ingest/url_extraction.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/layout.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/manifest.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/models.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/pipeline.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/quality.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/reindex.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/reports.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/storage/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/storage/blob_store.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/storage/local_store.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/storage/s3_store.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/source_archive/viewer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/agent_wrappers.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/ai_utils/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/ai_utils/openai_utils.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/README.md +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/claude35sonnet.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/deepseek_r1.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/gpt4o.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/gpt4ovision.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/gpto1.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/gpto1preview.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/metaculus4o.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/deprecated_model_classes/perplexity.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/exa_searcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/ai_model.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/combined_llm_archetype.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/incurs_cost.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/named_model.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/outputs_text.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/priced_per_request.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/request_limited_model.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/retryable_model.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/time_limited_model.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/token_limited_model.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/tokens_are_calculatable.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_interfaces/tokens_incur_cost.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_tracker.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/resource_managers/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/resource_managers/hard_limit_manager.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/resource_managers/monetary_cost_manager.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/resource_managers/refreshing_bucket_rate_limiter.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/auto_optimizers/bot_evaluator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/auto_optimizers/bot_optimizer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/auto_optimizers/control_prompt.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/auto_optimizers/customizable_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/auto_optimizers/prompt_data_models.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/auto_optimizers/prompt_optimizer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/auto_optimizers/question_plus_research.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/.gitignore +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/_training_data.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/benchmark.ipynb +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/calibration_adjuster.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/constant_shift_adjuster.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/decision_tree_adjuster.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/k_means_adjuster.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/logistic_recalibration_adjuster.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/calibration_adjustment/step_adjuster.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/cp_benchmarking/benchmark_displayer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/cp_benchmarking/benchmark_for_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/cp_benchmarking/benchmarker.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/binary_report.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/coherence_link.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/conditional_models.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/conditional_report.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/data_organizer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/forecast_report.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/markdown_tree.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/multiple_choice_report.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/numeric_report.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/timestamped_predictions.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/user_response.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/bot_lists.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q1_veritas_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q1t_w_convert_to_binary.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q1t_w_personas_and_exa.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q2t_w_decomposition.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q3t_w_asknews.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q3t_w_exa.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q3t_w_q4vbinary.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q4_veritas_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q4v_w_exa.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q4v_w_exa_and_dseekr1.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/experiments/q4v_w_exa_and_o1_preview.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/forecast_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/main_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/gpt_4_1_optimized_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/no_research_one_shot_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/q1_template_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/q2_template_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/q3_template_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/q4_template_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/research_only_bot_2025_fall.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/template_bot_2025_fall.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/template_bot_2026_fall.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/template_bot_2026_spring.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/template_bot_2026_summer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/official_bots/uniform_probability_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/template_bot.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/Home.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/base_rate_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/benchmark_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/chat_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/congress_v2_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/csv_agent.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/estimator_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/forecaster_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/intervention_leaderboard_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/key_factors_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/niche_list_researcher_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/app_pages/simulator_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/base_rate_page_examples.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/congress_page_example.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/congress_v2_page_example.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/estimator_page_examples.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/forecast_page_examples.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/key_factors_page_examples.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/niche_list_page_examples.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/example_outputs/question_generator_page_examples.json +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/helpers/app_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/helpers/custom_auth.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/helpers/report_displayer.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/helpers/tool_page.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/asknews_cache.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/asknews_searcher.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/forecast_database_manager.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/metaculus_api.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/metaculus_client.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/prediction_extractor.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/structure_output.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/works_cited_creator.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/__init__.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/async_batching.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/coda_utils.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/custom_logger.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/file_manipulation.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/jsonable.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/misc.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/optional_imports.py +0 -0
- {forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/stats.py +0 -0
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/general_llm.py
RENAMED
|
@@ -4,6 +4,7 @@ import asyncio
|
|
|
4
4
|
import inspect
|
|
5
5
|
import logging
|
|
6
6
|
import os
|
|
7
|
+
import re
|
|
7
8
|
from typing import Any, Literal
|
|
8
9
|
|
|
9
10
|
import litellm
|
|
@@ -57,6 +58,25 @@ class GeneralLlm(
|
|
|
57
58
|
Litellm support every model, most every parameter, and acts as one interface for every provider.
|
|
58
59
|
"""
|
|
59
60
|
|
|
61
|
+
_logged_model_provider_pairs: set[tuple[str, str]] = set()
|
|
62
|
+
|
|
63
|
+
_CREDENTIAL_KWARGS: frozenset[str] = frozenset(
|
|
64
|
+
{
|
|
65
|
+
"api_key",
|
|
66
|
+
"extra_headers",
|
|
67
|
+
"headers",
|
|
68
|
+
"model_list",
|
|
69
|
+
"aws_access_key_id",
|
|
70
|
+
"aws_secret_access_key",
|
|
71
|
+
"aws_session_token",
|
|
72
|
+
"aws_web_identity_token",
|
|
73
|
+
"vertex_credentials",
|
|
74
|
+
"azure_ad_token",
|
|
75
|
+
"azure_password",
|
|
76
|
+
"client_secret",
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
|
|
60
80
|
_defaults: dict[str, Any] = {
|
|
61
81
|
# The lowest matching model substring is used as default (default 60s timeout)
|
|
62
82
|
"gpt-4o": {
|
|
@@ -318,6 +338,7 @@ class GeneralLlm(
|
|
|
318
338
|
ModelTracker.give_cost_tracking_warning_if_needed(
|
|
319
339
|
self._litellm_model, observed_no_cost=observed_no_cost
|
|
320
340
|
)
|
|
341
|
+
serving_provider = self._get_checked_serving_provider(response)
|
|
321
342
|
|
|
322
343
|
if self.populate_citations:
|
|
323
344
|
citations = self._extract_citations(response, choices)
|
|
@@ -341,6 +362,7 @@ class GeneralLlm(
|
|
|
341
362
|
total_tokens_used=total_tokens,
|
|
342
363
|
model=self.model,
|
|
343
364
|
cost=direct_cost,
|
|
365
|
+
serving_provider=serving_provider,
|
|
344
366
|
)
|
|
345
367
|
|
|
346
368
|
return response
|
|
@@ -390,6 +412,58 @@ class GeneralLlm(
|
|
|
390
412
|
)
|
|
391
413
|
return mentions_temperature and is_unsupported
|
|
392
414
|
|
|
415
|
+
def _get_checked_serving_provider(self, response: ModelResponse) -> str | None:
|
|
416
|
+
serving_provider = typeguard.check_type(
|
|
417
|
+
(response.model_extra or {}).get("provider"), str | None
|
|
418
|
+
)
|
|
419
|
+
self._error_if_not_served_by_pinned_provider(serving_provider)
|
|
420
|
+
if serving_provider is None:
|
|
421
|
+
return None
|
|
422
|
+
model_and_provider = (self.model, serving_provider)
|
|
423
|
+
if model_and_provider not in GeneralLlm._logged_model_provider_pairs:
|
|
424
|
+
GeneralLlm._logged_model_provider_pairs.add(model_and_provider)
|
|
425
|
+
logger.info(
|
|
426
|
+
f"{self.model} is being served by provider '{serving_provider}'"
|
|
427
|
+
)
|
|
428
|
+
return serving_provider
|
|
429
|
+
|
|
430
|
+
def _get_pinned_provider_slugs(self) -> list[str]:
|
|
431
|
+
provider_routing = (self.litellm_kwargs.get("extra_body") or {}).get(
|
|
432
|
+
"provider"
|
|
433
|
+
) or {}
|
|
434
|
+
if provider_routing.get("allow_fallbacks", True) is not False:
|
|
435
|
+
return []
|
|
436
|
+
return provider_routing.get("order", [])
|
|
437
|
+
|
|
438
|
+
def _error_if_not_served_by_pinned_provider(
|
|
439
|
+
self, serving_provider: str | None
|
|
440
|
+
) -> None:
|
|
441
|
+
pinned_slugs = self._get_pinned_provider_slugs()
|
|
442
|
+
if not pinned_slugs:
|
|
443
|
+
return
|
|
444
|
+
if serving_provider is None or not any(
|
|
445
|
+
self._provider_name_matches_slug(serving_provider, slug)
|
|
446
|
+
for slug in pinned_slugs
|
|
447
|
+
):
|
|
448
|
+
raise RuntimeError(
|
|
449
|
+
f"{self.model} is pinned to {pinned_slugs} with fallbacks disabled, "
|
|
450
|
+
f"but was served by provider '{serving_provider}'"
|
|
451
|
+
)
|
|
452
|
+
|
|
453
|
+
@staticmethod
|
|
454
|
+
def _provider_name_matches_slug(provider_name: str, endpoint_slug: str) -> bool:
|
|
455
|
+
"""
|
|
456
|
+
OpenRouter reports display names that can be shorter or longer than the slug
|
|
457
|
+
(e.g. "Google" for "google-vertex", "Mancer 2" for "mancer"), so match on prefix.
|
|
458
|
+
"""
|
|
459
|
+
normalized_name = re.sub(r"[^a-z0-9]", "", provider_name.lower())
|
|
460
|
+
normalized_slug = re.sub(r"[^a-z0-9]", "", endpoint_slug.split("/")[0].lower())
|
|
461
|
+
if not normalized_name or not normalized_slug:
|
|
462
|
+
return False
|
|
463
|
+
return normalized_slug.startswith(
|
|
464
|
+
normalized_name
|
|
465
|
+
) or normalized_name.startswith(normalized_slug)
|
|
466
|
+
|
|
393
467
|
def _answer_from_reasoning_content(self, message: Message) -> str | None:
|
|
394
468
|
reasoning_content = getattr(message, "reasoning_content", None)
|
|
395
469
|
if isinstance(reasoning_content, str) and reasoning_content:
|
|
@@ -494,6 +568,7 @@ class GeneralLlm(
|
|
|
494
568
|
setattr(model_response, "choices", choices)
|
|
495
569
|
|
|
496
570
|
model_response.model = self.model
|
|
571
|
+
model_response._hidden_params = raw_response._hidden_params
|
|
497
572
|
|
|
498
573
|
setattr(
|
|
499
574
|
model_response,
|
|
@@ -620,7 +695,11 @@ class GeneralLlm(
|
|
|
620
695
|
return {
|
|
621
696
|
"original_model": self.model,
|
|
622
697
|
"allowed_tries": self.allowed_tries,
|
|
623
|
-
**{
|
|
698
|
+
**{
|
|
699
|
+
key: value
|
|
700
|
+
for key, value in self.litellm_kwargs.items()
|
|
701
|
+
if key not in self._CREDENTIAL_KWARGS
|
|
702
|
+
},
|
|
624
703
|
}
|
|
625
704
|
|
|
626
705
|
@classmethod
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/questions.py
RENAMED
|
@@ -340,6 +340,10 @@ class BinaryQuestion(MetaculusQuestion):
|
|
|
340
340
|
q2_center_community_prediction = aggregations["unweighted"]["latest"]["centers"] # type: ignore
|
|
341
341
|
assert len(q2_center_community_prediction) == 1
|
|
342
342
|
community_prediction_at_access_time = q2_center_community_prediction[0]
|
|
343
|
+
except (KeyError, TypeError):
|
|
344
|
+
community_prediction_at_access_time = None
|
|
345
|
+
|
|
346
|
+
try:
|
|
343
347
|
history = api_json["question"]["my_forecasts"]["history"]
|
|
344
348
|
previous_forecasts = None
|
|
345
349
|
if history:
|
|
@@ -360,7 +364,6 @@ class BinaryQuestion(MetaculusQuestion):
|
|
|
360
364
|
for forecast in history
|
|
361
365
|
]
|
|
362
366
|
except (KeyError, TypeError):
|
|
363
|
-
community_prediction_at_access_time = None
|
|
364
367
|
previous_forecasts = None
|
|
365
368
|
return BinaryQuestion(
|
|
366
369
|
community_prediction_at_access_time=community_prediction_at_access_time,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/agents_and_tools/__init__.py
RENAMED
|
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
|
|
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
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/agent_wrappers.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/ai_utils/__init__.py
RENAMED
|
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
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/exa_searcher.py
RENAMED
|
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
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/ai_models/model_tracker.py
RENAMED
|
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
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/cp_benchmarking/benchmarker.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/__init__.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/binary_report.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/coherence_link.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/data_organizer.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/forecast_report.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/markdown_tree.py
RENAMED
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/numeric_report.py
RENAMED
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/data_models/user_response.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/__init__.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/bot_lists.py
RENAMED
|
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
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/forecast_bot.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/main_bot.py
RENAMED
|
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
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/forecast_bots/template_bot.py
RENAMED
|
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
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/helpers/app_page.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/front_end/helpers/tool_page.py
RENAMED
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/asknews_cache.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/asknews_searcher.py
RENAMED
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/metaculus_api.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/metaculus_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/structure_output.py
RENAMED
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/helpers/works_cited_creator.py
RENAMED
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/async_batching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/file_manipulation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{forecasting_tools-0.3.1 → forecasting_tools-0.3.2}/forecasting_tools/util/optional_imports.py
RENAMED
|
File without changes
|
|
File without changes
|