{"id":27752,"library":"forecasting-tools","title":"Forecasting Tools","description":"AI forecasting and research tools to help humans reason about and forecast the future. Current version 0.2.90, requires Python >=3.11, <4.0. Maintained actively on GitHub by Metaculus.","status":"active","version":"0.2.90","language":"python","source_language":"en","source_url":"https://github.com/Metaculus/forecasting-tools","tags":["forecasting","AI","metaculus"],"install":[{"cmd":"pip install forecasting-tools","lang":"bash","label":"Default install"}],"dependencies":[],"imports":[{"note":"Class name is ForecastTools (no 'ing').","wrong":"from forecasting_tools import ForecastingTools","symbol":"ForecastTools","correct":"from forecasting_tools import ForecastTools"},{"note":"run_forecast is top-level, not in submodule.","wrong":"from forecasting_tools.forecast import run_forecast","symbol":"run_forecast","correct":"from forecasting_tools import run_forecast"}],"quickstart":{"code":"import os\nfrom forecasting_tools import ForecastTools\n\napi_key = os.environ.get('METACULUS_API_KEY', '')\nft = ForecastTools(api_key=api_key)\nresult = ft.forecast(question='Will AGI be achieved by 2030?')\nprint(result)","lang":"python","description":"Initialize with API key and run a forecast."},"warnings":[{"fix":"Use 'from forecasting_tools import ForecastTools'.","message":"Class renamed from 'ForecastingTools' to 'ForecastTools' in v0.2.0. Old import breaks.","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Use ft.forecast(...) instead of ft.predict(...).","message":"Function 'predict' deprecated in v0.2.5, replaced by 'forecast'.","severity":"deprecated","affected_versions":">=0.2.5"},{"fix":"Set METACULUS_API_KEY environment variable or pass api_key argument.","message":"API key required; if not set, ForecastTools raises ValueError. Many users forget to set environment variable.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Use 'from forecasting_tools import ForecastTools'.","cause":"Class was renamed from ForecastingTools to ForecastTools in v0.2.0.","error":"ImportError: cannot import name 'ForecastingTools' from 'forecasting_tools'"},{"fix":"Set METACULUS_API_KEY=your_key in environment or pass api_key='your_key'.","cause":"No API key passed or set in environment.","error":"ValueError: API key not provided. Set METACULUS_API_KEY environment variable."},{"fix":"Use ft.forecast(...) instead.","cause":"Function 'predict' was removed in v0.2.5, replaced by 'forecast'.","error":"AttributeError: 'ForecastTools' object has no attribute 'predict'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}