Numerai Python API
Automatically download and upload data for the Numerai machine learning competition.
This library is a Python client to the Numerai API. The interface is programmed in Python and allows downloading the training data, uploading predictions, and accessing user, submission and competitions information.
If you encounter a problem or have suggestions, feel free to open an issue.
Installation
pip install --upgrade numerapi
Usage
Numerapi can be used as a regular, importable Python module or from the command line.
Some actions (like uploading predictions or staking) require a token to verify
that it is really you interacting with Numerai's API. These tokens consists of
a public_id and secret_key. Both can be obtained by login in to Numer.ai and
going to Account -> Custom API Keys. Tokens can be passed to the Python module
as parameters or you can be set via environment variables (NUMERAI_PUBLIC_ID
and NUMERAI_SECRET_KEY).
Python module
Usage example:
import numerapi
# some API calls do not require logging in
napi = numerapi.NumerAPI(verbosity="info")
# download current dataset
napi.download_current_dataset(unzip=True)
# get competitions
all_competitions = napi.get_competitions()
# get current leaderboard
leaderboard = napi.get_leaderboard()
# check if a new round has started
if napi.check_new_round():
print("new round has started within the last 24hours!")
else:
print("no new round within the last 24 hours")
# provide api tokens
example_public_id = "somepublicid"
example_secret_key = "somesecretkey"
napi = NumerAPI(example_public_id, example_secret_key)
# upload predictions
submission_id = napi.upload_predictions("preds.csv", tournament=1)
# check submission status
napi.submission_status()
# increase your stake by 1.2 NMR
napi.stake_increase(1.2)
# convert results to a pandas dataframe
import pandas as pd
df = pd.io.json.json_normalize(napi.daily_user_performances("uuazed"), sep="-")
Command line interface
To get started with the cli interface, let's take a look at the help page:
$ numerapi --help
Usage: numerapi [OPTIONS] COMMAND [ARGS]...
Wrapper around the Numerai API
Options:
--help Show this message and exit.
Commands:
check-new-round Check if a new round has started within...
competitions Retrieves information about all...
current-round Get number of the current active round.
daily-submissions-performances Fetch daily performance of a user's...
daily-user-performances Fetch daily performance of a user.
dataset-url Fetch url of the current dataset.
download-dataset Download dataset for the current active...
leaderboard Get the leaderboard.
payments List all your payments
profile Fetch the public profile of a user.
rankings Get the overall rankings.
stake-decrease Decrease your stake by `value` NMR.
stake-drain Completely remove your stake.
stake-get Get stake value of a user.
stake-increase Increase your stake by `value` NMR.
stakes List all your stakes.
staking-leaderboard Retrieves the staking competition...
submission-filenames Get filenames of your submissions
submission-ids Get dict with username->submission_id...
submission-status checks the submission status
submit Upload predictions from file.
tournament-name2number Translate tournament name to tournament...
tournament-number2name Translate tournament number to tournament...
tournaments Get all tournaments.
transactions List all your deposits and withdrawals.
user Get all information about you!
user-activities Get user activities (works for all users!)
v1-leaderboard Retrieves the leaderboard for the given...
version Installed numerapi version.
Each command has it's own help page, for example:
$ numerapi submit --help
Usage: numerapi submit [OPTIONS] PATH
Upload predictions from file.
Options:
--tournament INTEGER The ID of the tournament, defaults to 1
--help Show this message and exit.
API Reference
Checkout the detailed API docs to learn about all available methods, parameters and returned values.
Metadata
Release files for numerapi 2.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| numerapi-2.1.5.tar.gz | 28.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| numerapi-2.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.5 kB
Release files / numerapi-2.1.5.tar.gz
| Download URL | numerapi-2.1.5.tar.gz |
|---|---|
| Size | 28.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3dbfa0370ba7ad7338ea1103f2172442eb77d0029a4fb1712d854aad0be9db90
|
|
BLAKE2b-256 checksum How to use checksums |
de1daaf5134b2d69c6be090c7fd9acf4391af6ddd289f49b490691432b27ffd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
|
Release files / numerapi-2.1.5-py3-none-any.whl
| Download URL | numerapi-2.1.5-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c10b16bbd387f8375de87e9be5dddd4f4cf207f6a9451d08dd264e85cf90a713
|
|
BLAKE2b-256 checksum How to use checksums |
cf521b01e6a1b6a9c9880b6366aa2033ba7bec06083f56683fbcb299ec7dabc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
|