Skip to main content

A library for deploying Numer.ai Prediction Nodes.

Project description

numerai-cli

CircleCI PyPI

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 8/10, and Ubuntu 18/20, 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

  1. Sign up a Numerai Account, get your Numerai API Keys, and your first Model:

    1. Sign up at https://numer.ai/signup and log in to your new account
    2. Go to https://numer.ai/account > "Your API keys" section > click "Add"
    3. Name your key and check all boxes under "Scope this key will have"
    4. Enter your password and click "Confirm"
    5. Copy your secret public key and secret key somewhere safe
  2. Pick a Cloud Provider and follow the directions (Currently we only support AWS):

  3. 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, select terminal.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"
      
  4. After the setup script confirms Python and Docker, install numerai-cli via:

    pip3 install --upgrade numerai-cli --user
    

    NOTES:

    • This command will also work to update to new versions of the package in the future
    • 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:

numerai setup
numerai node create --example numerai-python3
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.

NOTES: - 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. - You can view resources and logs in the AWS Console (region us-east-1) for your ECS Cluster and other resources

For more information on Prediction Nodes, please read the Prediction Node Architecture wiki

Discovering Commands

Use the --help option on any command to get a full description of options and sub-commands:

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"

If you do not include this information, we cannot help you.

Uninstall

numerai uninstall

Contributions

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

numerai-cli-0.3.0.dev25.tar.gz (5.4 MB view details)

Uploaded Source

Built Distribution

numerai_cli-0.3.0.dev25-py3-none-any.whl (5.4 MB view details)

Uploaded Python 3

File details

Details for the file numerai-cli-0.3.0.dev25.tar.gz.

File metadata

  • Download URL: numerai-cli-0.3.0.dev25.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

Hashes for numerai-cli-0.3.0.dev25.tar.gz
Algorithm Hash digest
SHA256 33a2ef3f541f5f73cc3df561feac347a85d75d88f030094784380c0875ebb142
MD5 661e6c338c3447b1989ecc2db270abf4
BLAKE2b-256 ec33b3c85f5eed80b6bc8175746a38cda0eb211b978588a4c85bd13071c1bff0

See more details on using hashes here.

Provenance

File details

Details for the file numerai_cli-0.3.0.dev25-py3-none-any.whl.

File metadata

  • Download URL: numerai_cli-0.3.0.dev25-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

Hashes for numerai_cli-0.3.0.dev25-py3-none-any.whl
Algorithm Hash digest
SHA256 bdc2ca691c51a625f126c52f5967398392ebbff330c632b5a2691d7a8835e96d
MD5 b8c2a3f60f9f6f0ffef677b5af28c0ee
BLAKE2b-256 7fc4f9013d29c43192317cb96c63c4837508946b161ef5fd8e7a6aa6907eb27e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page