{"id":45623,"library":"numerapi","title":"NumerAPI","description":"Python client for the Numerai machine learning competition. Automates data download, prediction upload, staking, and account management. Current version 2.23.2, released monthly.","status":"active","version":"2.23.2","language":"python","source_language":"en","source_url":"https://github.com/uuazed/numerapi","tags":["numerai","machine learning","quantitative finance","competition","data"],"install":[{"cmd":"pip install numerapi","lang":"bash","label":"PyPI"},{"cmd":"pip install numerapi[cli]","lang":"bash","label":"PyPI with CLI"}],"dependencies":[{"reason":"HTTP client for API calls","package":"requests","optional":false},{"reason":"Date parsing","package":"python-dateutil","optional":false}],"imports":[{"note":"NumerAPI is the main class, not a module.","wrong":"import numerapi","symbol":"NumerAPI","correct":"from numerapi import NumerAPI"}],"quickstart":{"code":"from numerapi import NumerAPI\n\nnapi = NumerAPI()\n# download current dataset\nnapi.download_current_dataset('training_data.parquet', dest_path='./')","lang":"python","description":"Initialize NumerAPI and download the latest training data."},"warnings":[{"fix":"Use `napi.upload_predictions('path/to/predictions.csv', model_id='your_model_id')`.","message":"The `sign` method from v1 was removed. Use `napi.upload_predictions()` with `model_id` parameter.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Store the returned path and use it for reading: path = napi.download_dataset('filename'); data = pd.read_parquet(path).","message":"The `download_dataset` method returns a path string, not a file object. Many users expect a file handle.","severity":"gotcha","affected_versions":"all"},{"fix":"Set environment variables before creating NumerAPI: os.environ['NUMERAI_PUBLIC_ID'] = '...'.","message":"API keys must be set via environment variables `NUMERAI_PUBLIC_ID` and `NUMERAI_SECRET_KEY` or passed directly to constructor. Not using environment variables leads to authentication errors in production.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'2.23.2':21 'account':17 'autom':10 'client':3 'competit':9,29 'current':19 'data':11,30 'download':12 'financ':28 'learn':8,26 'machin':7,25 'manag':18 'month':23 'numerai':6,24 'numerapi':1 'predict':13 'python':2 'quantit':27 'releas':22 'stake':15 'upload':14 'version':20","created_at":"2026-06-07T12:55:55.531446+00:00","updated_at":"2026-06-07T12:55:55.531446+00:00","problems":[{"fix":"Set NUMERAI_PUBLIC_ID and NUMERAI_SECRET_KEY environment variables or pass them to NumerAPI() constructor.","cause":"Missing or invalid API credentials (public_id/secret_key).","error":"NumerAPIError: 401 - Unauthorized"},{"fix":"Provide model_id parameter: napi.upload_predictions('preds.csv', model_id='your_model_id').","cause":"Calling upload_predictions without specifying model_id when no default is configured.","error":"ValueError: No model_id provided and no default model set"},{"fix":"Use the returned path: path = napi.download_dataset('numerai_training_data.parquet', dest_path='./'); data = pd.read_parquet(path).","cause":"Download path not correctly specified; napi.download_dataset returns the path, but user tries to use a hardcoded name.","error":"FileNotFoundError: [Errno 2] No such file or directory: 'numerai_training_data.parquet'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/uuazed/numerapi","github":"https://github.com/uuazed/numerapi","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}