A library for deploying Numer.ai Prediction Nodes.
Project description
numerai-cli
Welcome to Numerai CLI, if you haven't heard of numerai see our docs to learn more. Currently this CLI configures a Numerai Prediction Node in Amazon Web Services (AWS) that you can deploy your models to. This solution is architected to cost less than $5/mo on average, but actual costs may vary. It has been tested and found working on MacOS/OSX, Windows 10, and Ubuntu 18.04, but should theoretically work anywhere that Docker and Python 3 are available.
If you have any problems, questions, comments, concerns, or general feedback, please refer to the Feedback and Bug Reporting Section before posting anywhere.
Contents
- Prerequisites
- Node Configuration
- Node Testing
- Listing Commands
- Troubleshooting and Feedback
- Uninstall
Prerequisites
-
Sign up a Numerai Account, get your Numerai API Keys, and your first Model:
- Sign up at https://numer.ai/signup and log in to your new account
- Go to https://numer.ai/account > "Your API keys" section > click "Add"
- Name your key and check all boxes under "Scope this key will have"
- Enter your password and click "Confirm"
- Copy your secret public key and secret key somewhere safe
-
Pick a Cloud Provider and follow the directions (Currently we only support AWS):
-
Install Docker and Python for your Operating System (if you encounter errors or your OS is not supported, please read the troubleshooting wiki to install Python and Docker):
-
Mac Terminal (cmd + space, type
terminal
, selectterminal.app
):curl https://raw.githubusercontent.com/numerai/numerai-cli/master/scripts/setup-mac.sh | bash
-
Ubuntu 18/20 Terminal (ctrl + alt + t):
sudo apt update && sudo apt install -y libcurl4 curl && sudo curl https://raw.githubusercontent.com/numerai/numerai-cli/master/scripts/setup-ubu.sh | sudo bash
-
Windows 10 Command Prompt (windows key, type
cmd
, select Command Prompt):powershell -command "$Script = Invoke-WebRequest 'https://raw.githubusercontent.com/numerai/numerai-cli/master/scripts/setup-win10.ps1'; $ScriptBlock = [ScriptBlock]::Create($Script.Content); Invoke-Command -ScriptBlock $ScriptBlock"
-
-
After the setup script confirms Python and Docker, install
numerai-cli
via:pip3 install numerai-cli --user
NOTE: If you are using python venv then drop the --user option. If you don't know what that is, disregard this note
Node Configuration
If you know you have all the prerequisites and have your AWS and Numerai API Keys at hand, you can run these commands to get an example node running in minutes:
NOTE: replace [MODEL ID]
by going to https://numer.ai/models and copying the ID under the name of your first model.
numerai setup
numerai node create --example numerai-python3 --model-id [MODEL ID]
numerai node deploy
numerai node test
Your compute node is now setup and ready to run. It saves important configuration information in $USER_HOME/.numerai/nodes.json
including the url for your Node Trigger. This trigger is registered with whichever model you specified during configuration.
Each trigger will be called Saturday morning right after a new round opens, and if the related job fails it will be triggered again around 24 hours later.
NOTE: The default example does not make stake changes; you will still have to do that manually. Please refer to the numerapi docs for the methods you must call to do this.
Node Testing
-
Test webhook URL (schedule a job in the cloud):
numerai compute test-webhook
-
Check your job status:
numerai compute status
-
View logs for "RUNNING" Job:
numerai compute logs
-
You can test locally too:
numerai docker run
-
NOTES:
- You can also view resources and logs in the AWS Console for your ECS Cluster and other resources
- Scheduling a job does not immediately run the container. This takes several minutes the first time it runs, with subsequent runs starting a lot faster.
Listing Commands
Run one of these to get descriptions of each command available:
numerai
numerai --help
numerai [command] --help
numerai [command] [sub-command] --help
Troubleshooting and Feedback
Before messaging the Rocketchat channel or creating a Github issue, please read through the following (especially the "Troubleshooting" section in the wiki):
If you still cannot find a solution or answer, please join us on the RocketChat #compute Channel and include the following information with your issue/message:
- The commands you ran that caused the error (even previous commands)
- Version information from running:
pip3 show numerai-cli
python -V
docker -v
- System Information from running
- Mac:
system_profiler SPSoftwareDataType && system_profiler SPHardwareDataType
- Linux:
lsb_release -a && uname -a
- Windows:
powershell -command "Get-ComputerInfo"
- Mac:
If you do not include this information, we cannot help you.
Uninstall
-
Destroy the AWS environment:
numerai destroy
-
Uninstall the package:
pip3 uninstall numerai-cli
Contributions
- Thanks to uuazed for their work on numerapi
- Thanks to hellno for starting the ticker map
- Thanks to tit_BTCQASH (numerai profile and twitter profile) for debugging the environment setup process on Windows 8
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file numerai-cli-0.3.0.dev24.tar.gz
.
File metadata
- Download URL: numerai-cli-0.3.0.dev24.tar.gz
- Upload date:
- Size: 5.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848b8c734f64ed71cc1690a76613b0c4b403924288dd8b77540e8aac91cd488d |
|
MD5 | cfc78b71c9e2513a951505972a42b5ba |
|
BLAKE2b-256 | 4133e1d686e40b9da67e764d068107f5cdd39f3451e5aa823770f2dd9e226dc5 |
Provenance
File details
Details for the file numerai_cli-0.3.0.dev24-py3-none-any.whl
.
File metadata
- Download URL: numerai_cli-0.3.0.dev24-py3-none-any.whl
- Upload date:
- Size: 5.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03431d735d9cba58af6846595347e71c3739622daaa530bcd28185507267fbb8 |
|
MD5 | 6e146cf719e7efbe0adcea748d30860d |
|
BLAKE2b-256 | 2dc5255af30c4a7039969b2c85edf3c6917064f3ca9944378be71a2a52c6deec |