diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-numerapi.spec | 558 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 560 insertions, 0 deletions
@@ -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 +[](https://app.travis-ci.com/uuazed/numerapi) +[](https://codecov.io/gh/uuazed/numerapi) +[](https://pypi.python.org/pypi/numerapi) +[](https://pepy.tech/project/numerapi) +[](http://numerapi.readthedocs.io/en/stable/?badge=stable) +[](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 +[](https://app.travis-ci.com/uuazed/numerapi) +[](https://codecov.io/gh/uuazed/numerapi) +[](https://pypi.python.org/pypi/numerapi) +[](https://pepy.tech/project/numerapi) +[](http://numerapi.readthedocs.io/en/stable/?badge=stable) +[](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 +[](https://app.travis-ci.com/uuazed/numerapi) +[](https://codecov.io/gh/uuazed/numerapi) +[](https://pypi.python.org/pypi/numerapi) +[](https://pepy.tech/project/numerapi) +[](http://numerapi.readthedocs.io/en/stable/?badge=stable) +[](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 @@ -0,0 +1 @@ +23dd8d0a8633bf5f584c9869f6e39186 numerapi-2.14.0.tar.gz |
