Notable changes to this project.
- replace deprecated
round_model_performances_v2Corr/MMC multiplier fields with the exactpayoutMultiplierslist - support Python 3.14 and pandas 3: require
pandas>=2.3.3on Python 3.14 and keeppandas>=1.1.0below it - declare
python_requires>=3.10and advertise Python 3.10 through 3.14 - remove the six deprecated Corr/MMC multiplier projections from
list_rounds; use the identity-preservingroundScoreConfigslist instead
- add exact
roundScoreConfigsidentities, scoring windows, and payout settings tolist_roundsfor Classic, Signals, and Crypto - stop querying deprecated GraphQL round multiplier fields; keep the six established Corr/MMC return keys as exact-name compatibility projections until their scheduled removal in numerapi 3.0.0
- document migration from legacy round multiplier roles and isolate the
deprecated
round_model_performances_v2behavior - expose the tournament-aware
stake_getAPI consistently for Classic, Signals, and Crypto - allow
download_datasetto use pandas Parquet filters and download only the matching portion of a dataset
- fix
models_of_accountreferencing incorrect typeStr!instead ofString!
- increase dataset download chunk size to 1 MB to improve download speeds
- fix package version lookup
-- added get_leaderboard for crypto tournament
- cli: allow selecting tournaments (Classic/Signals/Crypto) via
--tournament(PR #119) - added timezone-aware dates to BaseAPI (PR #119)
- added
mmcMultiplierandroundPayoutFactortoround_model_performances_v2 - more type hints
- added
BMCandAlphato diagnostics
- fix
download_dataset - improve type hints
- cli: fix
check_new_round
- type hint improvements
- no longer depend on
pkg_resources
- add a
py.typedfile to indicate type hints
- deprecate
round_model_performances - support
.envfiles for authentication, requirespython-dotenv - remove deprecated functionality
- ci: use Python 3.10
stake_drain: set drain flag correctly, so things will look less confusing in the UI- fix
SignalsAPI.upload_predictions
- fix
SignalsAPI.ticker_universe - added
validationBmcMeanandera.validationBmcto diagnostics - added
CyptoAPI
- added
get_account_leaderboardto fetch account-level leaderboard - added 'models_of_account' to fetch all models of an account
- 'SignalsAPI.ticker_universe': stop using hardcoded URL
- remove
set_stake_type- no longer relevant - deprecate 'SignalsAPI.download_validation_data'
- code style fixes
- fix docs
- signals: add 'list_datasets' and 'download_dataset'
- add
bmcRepandmmcReptoget_leaderboard
- fix
get_leaderboard
- added 'corr20V2Rep' to 'get_leaderboard'
- deprecate methods related to v2 and v3 datasets
- added
download_submissionto download a CSV of a previous submission - added
submission_idsto fetch all submission_ids of a model - minor fixes
- model_upload now allows specifying which data_version and which image to use
- added
round_model_performances_v2, which allows fetching newer metrics - added
pipeline_statusto get the status of numerai's scoring pipeline - added
intra_round_scoresto fetch intra-round metrics of your models - handle downtimes of Numerai's API more gracefully
- added
model_upload_docker_imagesandmodel_upload_data_versions
- add corr20V2 into round_model_performances (PR #100)
- add tcMultiplier into round_model_performances
- add
model_uploadfeature, to allow uploading pickled models to numerai
- deprecate
SignalsAPI.submission_status - deprecate
NumerAPI.submission_status
- return filepath from
download_dataset
- add
modelid_to_modelnamemethod - fix
stake_set - add option to adjust connection timeout when upload predictionions (PR #97)
- remove deprecated
download_latest_data - add
set_global_data_dirmethod - docs
- add
data_datestampargument toupload_predictions- this will allow submitting predictions using data from a previous round.
- fix
SignalsAPI.daily_model_performances - adding all the new metrics (RIC, CorrV4, FncV4, etc) to
diagnostics
stake_get- updated to migrate away from deprecated API endpoint- remove deprecated
SignalsAPI.daily_user_performances - remove deprecated
SignalsAPI.daily_submissions_performances - remove
round_details- no longer supported by Numerai - remove deprecated
daily_submissions_performances
- numerapi-cli: make
check-new-roundmore robust - more robust
check_new_roundandcheck_round_open- working around some edge cases, that occur during the time without any active round.
- change default argument for
check_new_roundto 12 hours - deprecate
daily_submissions_performances - update
get_leaderboardto reflect changes in the backend - add downloads per month batch
- fix docs
- update README
- fix
check_round_open
- add
check_round_opento check if there is a currently an active round - make
check_new_roundaccessible fromSignalsAPI
- add fncV3 to
daily_submissions_performances - add
TCtoSignalsAPI.get_leaderboard - add
TCandcorr60toSignalsAPI.daily_model_performances - add
TCtoSignalsAPI.daily_submissions_performances - define timeouts for all web call made with
requests
- add
set_stake_typeto change payout mode and multipliers (PR #83) - add auth to
round_detailsquery (PR #86)
- fix directory check in download_dataset in the last update
diagnosticsnow returns all diagnostics results, if no diagnostics_id is specifieddownload_dataset: in case the destination path contains a directory, ensure it exists
- bugfix, timeout for http requests was accidentally set to 3 seconds.
- make downloads more robust and prevent broken files by downloading to temporary files
- simple retry mechanism for failed API requests (5xx error codes only)
- Remove submission
versionparameter (PR #75)
- add tc, fnc, fncV3 to get_leaderboard
- add icRank, icRep to SignalsAPI.get_leaderboard
- add tcRank, tcRep, fncV3Rep and fncV3Rank to daily_model_performances
- add icRep and icRank to SignalsAPI.daily_model_performances
- add tc and tcPercentile to daily_submissions_performances
- make
stake_setwork with multi model accounts - add tc to the round_model_performances method (PR #74)
- add tcPercentile, ic, icPercentile, fncV3, fncV3Percentile to round_model_performances
- added
set_bioto programmatically update the bio field for some model - added
set_linkto programmatically update the user link field - enable stake changes for Numerai Signals (#68 Thx @habakan)
- run tests via github actions and disable travis integration
- cli: fix predictions upload
- cli: support uploading predictions generated with the new dataset (needs
--new_data) - signals: make
round_model_performancesavailable
- signals: support upload to diagnostic tool
- cli: added
list-datasets - cli: implement downloading of the new dataset
- some code cleanup
- add query
round_model_performances(#60) - fix documentation
- upgrade from
latestSubmissiontolatestSubmissionV2 - Indicate source
numerapiwhen uploading submissions - Deprecate
get_account_transactions- data no longer available - Deprecate
get_transactions- data no longer available - Add
wallet_transactions, fetches all transactions to / from your wallet - Code style improvements
- support passing
round_numtolist_datasets, to get available files from past rounds download_datasetno longer requires a destination path, it defaults to the source file namedownload_datasetnow accepts around_numargument, to download old files- added
upload_diagnosticsto upload to the new diagnostics tool - added
diagnosticsto fetch results of a diagnostics run
- Add version arg to upload_predictions (#59)
- added
list_datasetsto fetch the list of available data files - added
download_datasetto download files from the new data api - add missing documentation and deprecation warnings
- Add mmc20d rep and rank to SignalsAPI daily_model_performances
- rename
corr_20d*tocorr20d*since Numerai's GraphQL adapter now handles numbers in fields without underscores
- adding
fncPercentile,mmcPercentile&corrPercentiletodaily_submissions_performances - replace deprecated GraphQL
v2UserProfilecall withv3UserProfile - replace deprecated GraphQL
signalsUserProfilecall withv2SignalsProfile - new
daily_model_performances, replacingdaily_user_performances - signals: new
daily_model_performances, replacingdaily_user_performances - update & fix command line interface
- cli: remove deprecated 'payments' and 'user-activities' commands (#51)
- cli: converting the output to JSON (#52)
- remove deprecated fields (#50)
- remove userActivities query (deprecated, use userProfile fields instead)
- remove payments query (deprecated, use userProfile fields instead)
- remove misc deprecated fields from userProfile like badges, earnings
- remove misc deprecated scores from submissions like consistency and concordance
- remove misc deprecated fields from userProfile.dailyUserPerformances like reputation and rolling_score_rep (use corrRep/mmcRep/fncRep instead), and all the early staking 2.0 fields like averageCorrelation, averageCorrelationPayout, sumDeltaCorrelation etc.
- fix 'get_competitions' by removig deprecated fields (#49)
- lower pandas requirement to pandas>=1.1.0 to fix problems for users working in google colab (#48)
- resumable download (#42)
- Upload submission functions using a pandas dataframe (#46)
- enable registering submission webhooks and trigger IDs (#44)
- make
get_current_roundavailable in SignalsAPI - add
download_validation_datato SignalsAPI, to download the latest validation data, historical targets and ticker universe
- deprecate multi-tournament handling
get_modelsnow returns the list of models depending on the tournament you are working on - numerai classic (NumerAPI) vs numerai signals (SignalsAPI). This is necessary after the recent "model split".
daily_user_performancesaddfncdaily_submissions_performancesfilter all-None items
- improve docstrings and signals example code
- remove deprecated
get_v1_leaderboard - remove deprecated
get_stakes&get_submission_ids - Fix default file path for
download_latest_data(#37) - test suite: fixes
- fix
stake_changecall by addingtournamentparameter (#32) - add
tournamentparameter to all stake related endpoints - code style checks with
flake8 - Remove header from signals universe (#33)
- Add
get_latest_data_pathanddownload_latest_data(#35)
- Add additional metrics to
submission_status(#30) - signals: add
mmc,mmcRankandnmrStakedtoget_leaderboard - signals: add
totalStaketopublic_user_profile - signals: add
stake_get
- signals: speedup
ticker_universe - signals: add
mmcRepandreputationtodaily_user_performances - signals: add
mmc,mmcRep,correlation,corrRepandroundNumbertodaily_submissions_performances
- signals: fix ticker universe
- signals: update ticker universe path (#29)
- Add signals diagnostics (#28)
- update 'ticker_universe' to use the update file location
- get Numerai compute id if available and pass it along during predictions upload
- Signals: added
ticker_universeto get the list of accepted tickers submission_statusno longer needs (and accepts) a submission_id. It automatically uses the last submission associated with a model
- fix Signals submission upload (#25)
- added API for Numerai Signals
- refactor codebase
- more tests
- Remove required model_id annotation for submissions status lookups so that None can be passed
- Use consistent modelId in query spec
- Update doc examples
- fix
submission_statusfor multi model accounts
- no more Python2 support
- added type hints
- add
get_accountto return private account information and deprecatesget_user(#23) - incorporates updates to the Numerai tournament API in anticipation of the rollout of a new account system with multi-model support (#23)
- add
rolling_score_reptodaily_user_performancesandget_leaderboard - deprecate
reputationindaily_user_performancesandget_leaderboard
- added
payoutPendingandpayoutSettledtoget_leaderboard(#21) - added
sumDeltaCorrelation,finalCorrelation,payoutPendingandpayoutSettledtodaily_user_performances(#21)
- added "sharpe", "feature exposure" and "correlation with example predictions" to
submission_status - remove deprecated
check_submission_successful - added
bioandtotalStaketopublic_user_profile - remove deprecated
get_rankings
- fix
get_user_activities - remove deprecated
get_staking_leaderboard,get_nmr_prize_pool - added
mmcandcorrelationWithMetamodeltodaily_submissions_performances
- fix staking after recent changes to the GraphQL backend
- add
round_details, returning correlation scores of all users for the round
- add some more details to
get_leaderboard - adapt to changes in Numerai's staking API
- fix
stake_set
- add v2 version of
get_leaderboard - add
stake_get&stake_set - add
stake_increase,stake_decrease&stake_drain - add
public_user_profile - add
daily_user_performances - add
daily_submissions_performances - remove v1 staking
- remove
get_staking_cutoff- no longer relevant - old
get_leaderboardrenamed toget_v1_leaderboard - add v2-style staking to cli interface
- update documentation
- remove phone number and bonus fetching (#16)
- fix downloading dataset for tournaments > 1
- add
validationCorrelationandliveCorrelationto all relevant places - remove
validationAurocandvalidationLoglossfromsubmission_status
- default to tournament 8
katzuagi - update docstring
- added
reputationPayments,
- include
otherUsdIssuancesandphoneVerificationBonustoget_payments - add datetime information (
insertedAt) toget_transactions
- return new
reputationas announced by numerai on 2019-05-29 inget_rankings
- fix setup.py to make it work with the latest twine version
- add NMR returned information to
get_leaderboard- useful for partial burns
- fix
get_staking_cutofffor rounds >= 154
- tests: start testing the cli interface
- cli: fix
versioncommand on Python2.7 - added
liveAurocandvalidationAuroctoget_leaderboard - added
liveAurocandvalidationAuroctoget_staking_leaderboard - added
liveAurocandvalidationAuroctoget_user_activities - added
validationAuroctosubmission_status - added
rulesettoget_competitions - added
phoneNumberandcountrytoget_user - remove consistency check from
test_check_submission_successful
- remove total payments from leaderboard query (#13)
- fix
get_staking_leaderboard
get_tournamentsnow allows to filter for active tournaments only- CLI:
tournamentsgainedactive_only/allflags to get all or only the active tournaments
- remove timeout completely to fix upload issues
- increase default timeout to 20s
- better error handling
get_staking_cutoffnow gets the cutoff values via the api, instead of doing it's own computation- compatibility with
clickversion >= 7.0
- handle connection errors more gracefully (#11)
- pin minimum version of tqdm to (hopefully) prevent an exception (#12)
- travis: test against Python 3.7
- added
burnedtoget_user_activities - docs: fixed typos + improved example
validation_logloss->validationLogloss, to follow numerai's docs- remove everything
originalityrelated
- added
get_staking_cutoffto compute staking cutoff for a given round and tournament. - added
get_nmr_prize_poolto get the NMR prize pool for a given round and tournament.
- removed
filenamefromget_user_activities, no longer supported. - rename
get_submission_filenametoget_submission_filenames get_submission_filenamesnow only works for the authorized user. It allows to get ones submission filenames, optionally filtered by round_num and tournament.
- added
get_rankings, which gives access to numerai's global leaderboard - added
get_user_activities, that allows to see each user's submission and staking activity - added
get_submission_filenameto get the submission filename for any user, tournament & round number combination - added
prizePoolNmr,prizePoolUsdand number ofparticipantsto theget_competitionsendpoint - ensure functionality of command line interface is in sync
- added
get_tournaments - added
tournament_name2numberandtournament_number2nameto translate between tournament numbers and names
- added numerapi command line interface
- allow passing public ID and secret key via environment variables
- added
stakeResolutioninformation to get_leaderboard - added badge for read the docs to README
- publish README as long_description on pypi
- fixed
get_transactionsafter API change on Numerai's side - added proper docstrings to all public methods, using Google Style as described at http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html
- added examples for all public methods
- added documentation on readthedocs: http://numerapi.readthedocs.io
- add tournamentId to
get_stakes - fixed
stakeafter API change on Numerai's side
- support tournament parameter for various endpoints. Numer.ai is planning to run more than one tournament at a time. This change makes numerapi ready for that.
- minor code cleanup
- don't query Numerai's API if the action requires an auth token, but there is none provided
- more & improved tests (test coverage now > 90%)
- consistency threshold moved to 58, following the latest rule change
- use
decimal.Decimalinstead of floats to avoid rounding errors (#3) - optional flag to turn of tqdm's progress bars (#4)
- update
check_submission_successfulto recent rule changes (originality no longer required) - update documentation
- import NumerAPI class to toplevel. now
from numerapi import NumerAPIworks - added
get_dataset_url - more & improved tests
- added
check_new_roundto check if a new round has started - added
check_submission_successfulto check if the last submission passes concordance, originality and consistency - return proper Python data types, for example the NMR amounts are now floats and no longer strings
- show progress bar while downloading dataset
- general code cleanup & more tests
- fix import issues (py2 vs py3)
- convert datetime strings to proper Python datetime objects
- only append .zip to downloaded dataset if zip=True
- use round_number instead of date in default download filename
- setup travis to run test automatically
- run tests with different Python versions (2.7, 3.5 and 3.6)
- test coverage reports via codecov.io
- complete rewrite to adapt to Numerai's API switch to GraphQL
- update documentation and example
- added staking via API -
stake - added
get_staking_leaderboard - allow passing desired filename to data download
- allow custom API calls -
raw_query - started a test suite
- moved numerapi to it's new home (https://github.com/uuazed/numerapi)
- make numerapi available on pypi (https://pypi.org/project/numerapi)
- rename package from NumerAPI to all-lowercase numerapi