summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-numerapi.spec558
-rw-r--r--sources1
3 files changed, 560 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..77075bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/numerapi-2.14.0.tar.gz
diff --git a/python-numerapi.spec b/python-numerapi.spec
new file mode 100644
index 0000000..a1bd45e
--- /dev/null
+++ b/python-numerapi.spec
@@ -0,0 +1,558 @@
+%global _empty_manifest_terminate_build 0
+Name: python-numerapi
+Version: 2.14.0
+Release: 1
+Summary: Automatically download and upload data for the Numerai machine learning competition
+License: MIT License
+URL: https://github.com/uuazed/numerapi
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/16/f4/445ce1a9eb06c8528a13191c6728ac23b75ac2b8a4eb117a13e2682e9bec/numerapi-2.14.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+Requires: python3-pytz
+Requires: python3-dateutil
+Requires: python3-tqdm
+Requires: python3-click
+Requires: python3-pandas
+
+%description
+[![Build Status](https://app.travis-ci.com/uuazed/numerapi.svg)](https://app.travis-ci.com/uuazed/numerapi)
+[![codecov](https://codecov.io/gh/uuazed/numerapi/branch/master/graph/badge.svg)](https://codecov.io/gh/uuazed/numerapi)
+[![PyPI](https://img.shields.io/pypi/v/numerapi.svg)](https://pypi.python.org/pypi/numerapi)
+[![Downloads](https://pepy.tech/badge/numerapi/month)](https://pepy.tech/project/numerapi)
+[![Docs](https://readthedocs.org/projects/numerapi/badge/?version=stable)](http://numerapi.readthedocs.io/en/stable/?badge=stable)
+[![Requirements Status](https://requires.io/github/uuazed/numerapi/requirements.svg?branch=master)](https://requires.io/github/uuazed/numerapi/requirements/?branch=master)
+
+# 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. It works for both, the
+main competition and the newer Numerai Signals competition.
+
+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 - main competition
+
+ import numerapi
+ # some API calls do not require logging in
+ napi = numerapi.NumerAPI(verbosity="info")
+ # download current dataset => also check `https://numer.ai/data/v4`
+ napi.download_dataset("v4/train.parquet", "train.parquet")
+ # 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 12hours!")
+ else:
+ print("no new round within the last 12 hours")
+
+ # provide api tokens
+ example_public_id = "somepublicid"
+ example_secret_key = "somesecretkey"
+ napi = numerapi.NumerAPI(example_public_id, example_secret_key)
+
+ # upload predictions
+ model_id = napi.get_models()['uuazed']
+ napi.upload_predictions("preds.csv", model_id=model_id)
+ # check submission status
+ napi.submission_status(model_id)
+ # increase your stake by 1.2 NMR
+ napi.stake_increase(1.2)
+
+ # convert results to a pandas dataframe
+ import pandas as pd
+ df = pd.DataFrame(napi.daily_user_performances("uuazed"))
+
+
+### Usage example - Numerai Signals
+
+ import numerapi
+
+ napi = numerapi.SignalsAPI()
+ # get current leaderboard
+ leaderboard = napi.get_leaderboard()
+
+ # setup API with api tokens
+ example_public_id = "somepublicid"
+ example_secret_key = "somesecretkey"
+ napi = numerapi.SignalsAPI(example_public_id, example_secret_key)
+
+ # upload predictions
+ model_id = napi.get_models()['uuazed']
+ napi.upload_predictions("preds.csv", model_id=model_id)
+
+ # get submission status and invalid tickers
+ status = napi.submission_status(model_id)
+ invalid_tickers = status['invalidTickers']
+
+ # get daily performance as pandas dataframe
+ import pandas as pd
+ df = pd.DataFrame(napi.daily_user_performances("uuazed"))
+
+ # using the diagnostics tool
+ napi.upload_diagnostics("preds.csv", model_id=model_id)
+ # ... or using a pandas DataFrame directly
+ napi.upload_diagnostics(df=df, model_id=model_id)
+ # fetch results
+ napi.diagnostic(model_id)
+
+
+## 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:
+ account Get all information about your account!
+ 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-model-performances Fetch daily performance of a model.
+ daily-submissions-performances Fetch daily performance of a user's...
+ dataset-url Fetch url of the current dataset.
+ download-dataset Download specified file for the given...
+ download-dataset-old Download dataset for the current active...
+ leaderboard Get the leaderboard.
+ list-datasets List of available data files
+ models Get map of account models!
+ profile Fetch the public profile of a user.
+ 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.
+ submission-filenames Get filenames of your submissions
+ submission-status checks the submission status
+ submit Upload predictions from file.
+ transactions List all your deposits and withdrawals.
+ user Get all information about you!...
+ 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
+ --model_id TEXT An account model UUID (required for accounts with
+ multiple models
+
+ --help Show this message and exit.
+
+
+# API Reference
+
+Checkout the [detailed API docs](http://numerapi.readthedocs.io/en/latest/api/numerapi.html#module-numerapi.numerapi)
+to learn about all available methods, parameters and returned values.
+
+
+
+
+%package -n python3-numerapi
+Summary: Automatically download and upload data for the Numerai machine learning competition
+Provides: python-numerapi
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-numerapi
+[![Build Status](https://app.travis-ci.com/uuazed/numerapi.svg)](https://app.travis-ci.com/uuazed/numerapi)
+[![codecov](https://codecov.io/gh/uuazed/numerapi/branch/master/graph/badge.svg)](https://codecov.io/gh/uuazed/numerapi)
+[![PyPI](https://img.shields.io/pypi/v/numerapi.svg)](https://pypi.python.org/pypi/numerapi)
+[![Downloads](https://pepy.tech/badge/numerapi/month)](https://pepy.tech/project/numerapi)
+[![Docs](https://readthedocs.org/projects/numerapi/badge/?version=stable)](http://numerapi.readthedocs.io/en/stable/?badge=stable)
+[![Requirements Status](https://requires.io/github/uuazed/numerapi/requirements.svg?branch=master)](https://requires.io/github/uuazed/numerapi/requirements/?branch=master)
+
+# 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. It works for both, the
+main competition and the newer Numerai Signals competition.
+
+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 - main competition
+
+ import numerapi
+ # some API calls do not require logging in
+ napi = numerapi.NumerAPI(verbosity="info")
+ # download current dataset => also check `https://numer.ai/data/v4`
+ napi.download_dataset("v4/train.parquet", "train.parquet")
+ # 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 12hours!")
+ else:
+ print("no new round within the last 12 hours")
+
+ # provide api tokens
+ example_public_id = "somepublicid"
+ example_secret_key = "somesecretkey"
+ napi = numerapi.NumerAPI(example_public_id, example_secret_key)
+
+ # upload predictions
+ model_id = napi.get_models()['uuazed']
+ napi.upload_predictions("preds.csv", model_id=model_id)
+ # check submission status
+ napi.submission_status(model_id)
+ # increase your stake by 1.2 NMR
+ napi.stake_increase(1.2)
+
+ # convert results to a pandas dataframe
+ import pandas as pd
+ df = pd.DataFrame(napi.daily_user_performances("uuazed"))
+
+
+### Usage example - Numerai Signals
+
+ import numerapi
+
+ napi = numerapi.SignalsAPI()
+ # get current leaderboard
+ leaderboard = napi.get_leaderboard()
+
+ # setup API with api tokens
+ example_public_id = "somepublicid"
+ example_secret_key = "somesecretkey"
+ napi = numerapi.SignalsAPI(example_public_id, example_secret_key)
+
+ # upload predictions
+ model_id = napi.get_models()['uuazed']
+ napi.upload_predictions("preds.csv", model_id=model_id)
+
+ # get submission status and invalid tickers
+ status = napi.submission_status(model_id)
+ invalid_tickers = status['invalidTickers']
+
+ # get daily performance as pandas dataframe
+ import pandas as pd
+ df = pd.DataFrame(napi.daily_user_performances("uuazed"))
+
+ # using the diagnostics tool
+ napi.upload_diagnostics("preds.csv", model_id=model_id)
+ # ... or using a pandas DataFrame directly
+ napi.upload_diagnostics(df=df, model_id=model_id)
+ # fetch results
+ napi.diagnostic(model_id)
+
+
+## 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:
+ account Get all information about your account!
+ 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-model-performances Fetch daily performance of a model.
+ daily-submissions-performances Fetch daily performance of a user's...
+ dataset-url Fetch url of the current dataset.
+ download-dataset Download specified file for the given...
+ download-dataset-old Download dataset for the current active...
+ leaderboard Get the leaderboard.
+ list-datasets List of available data files
+ models Get map of account models!
+ profile Fetch the public profile of a user.
+ 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.
+ submission-filenames Get filenames of your submissions
+ submission-status checks the submission status
+ submit Upload predictions from file.
+ transactions List all your deposits and withdrawals.
+ user Get all information about you!...
+ 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
+ --model_id TEXT An account model UUID (required for accounts with
+ multiple models
+
+ --help Show this message and exit.
+
+
+# API Reference
+
+Checkout the [detailed API docs](http://numerapi.readthedocs.io/en/latest/api/numerapi.html#module-numerapi.numerapi)
+to learn about all available methods, parameters and returned values.
+
+
+
+
+%package help
+Summary: Development documents and examples for numerapi
+Provides: python3-numerapi-doc
+%description help
+[![Build Status](https://app.travis-ci.com/uuazed/numerapi.svg)](https://app.travis-ci.com/uuazed/numerapi)
+[![codecov](https://codecov.io/gh/uuazed/numerapi/branch/master/graph/badge.svg)](https://codecov.io/gh/uuazed/numerapi)
+[![PyPI](https://img.shields.io/pypi/v/numerapi.svg)](https://pypi.python.org/pypi/numerapi)
+[![Downloads](https://pepy.tech/badge/numerapi/month)](https://pepy.tech/project/numerapi)
+[![Docs](https://readthedocs.org/projects/numerapi/badge/?version=stable)](http://numerapi.readthedocs.io/en/stable/?badge=stable)
+[![Requirements Status](https://requires.io/github/uuazed/numerapi/requirements.svg?branch=master)](https://requires.io/github/uuazed/numerapi/requirements/?branch=master)
+
+# 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. It works for both, the
+main competition and the newer Numerai Signals competition.
+
+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 - main competition
+
+ import numerapi
+ # some API calls do not require logging in
+ napi = numerapi.NumerAPI(verbosity="info")
+ # download current dataset => also check `https://numer.ai/data/v4`
+ napi.download_dataset("v4/train.parquet", "train.parquet")
+ # 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 12hours!")
+ else:
+ print("no new round within the last 12 hours")
+
+ # provide api tokens
+ example_public_id = "somepublicid"
+ example_secret_key = "somesecretkey"
+ napi = numerapi.NumerAPI(example_public_id, example_secret_key)
+
+ # upload predictions
+ model_id = napi.get_models()['uuazed']
+ napi.upload_predictions("preds.csv", model_id=model_id)
+ # check submission status
+ napi.submission_status(model_id)
+ # increase your stake by 1.2 NMR
+ napi.stake_increase(1.2)
+
+ # convert results to a pandas dataframe
+ import pandas as pd
+ df = pd.DataFrame(napi.daily_user_performances("uuazed"))
+
+
+### Usage example - Numerai Signals
+
+ import numerapi
+
+ napi = numerapi.SignalsAPI()
+ # get current leaderboard
+ leaderboard = napi.get_leaderboard()
+
+ # setup API with api tokens
+ example_public_id = "somepublicid"
+ example_secret_key = "somesecretkey"
+ napi = numerapi.SignalsAPI(example_public_id, example_secret_key)
+
+ # upload predictions
+ model_id = napi.get_models()['uuazed']
+ napi.upload_predictions("preds.csv", model_id=model_id)
+
+ # get submission status and invalid tickers
+ status = napi.submission_status(model_id)
+ invalid_tickers = status['invalidTickers']
+
+ # get daily performance as pandas dataframe
+ import pandas as pd
+ df = pd.DataFrame(napi.daily_user_performances("uuazed"))
+
+ # using the diagnostics tool
+ napi.upload_diagnostics("preds.csv", model_id=model_id)
+ # ... or using a pandas DataFrame directly
+ napi.upload_diagnostics(df=df, model_id=model_id)
+ # fetch results
+ napi.diagnostic(model_id)
+
+
+## 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:
+ account Get all information about your account!
+ 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-model-performances Fetch daily performance of a model.
+ daily-submissions-performances Fetch daily performance of a user's...
+ dataset-url Fetch url of the current dataset.
+ download-dataset Download specified file for the given...
+ download-dataset-old Download dataset for the current active...
+ leaderboard Get the leaderboard.
+ list-datasets List of available data files
+ models Get map of account models!
+ profile Fetch the public profile of a user.
+ 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.
+ submission-filenames Get filenames of your submissions
+ submission-status checks the submission status
+ submit Upload predictions from file.
+ transactions List all your deposits and withdrawals.
+ user Get all information about you!...
+ 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
+ --model_id TEXT An account model UUID (required for accounts with
+ multiple models
+
+ --help Show this message and exit.
+
+
+# API Reference
+
+Checkout the [detailed API docs](http://numerapi.readthedocs.io/en/latest/api/numerapi.html#module-numerapi.numerapi)
+to learn about all available methods, parameters and returned values.
+
+
+
+
+%prep
+%autosetup -n numerapi-2.14.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-numerapi -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 2.14.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e223a5c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+23dd8d0a8633bf5f584c9869f6e39186 numerapi-2.14.0.tar.gz