summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 11:53:10 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 11:53:10 +0000
commit2b4860a106131799505a9cadafe20568f4a3deca (patch)
treea718ca44a8fe5e6bea0e13af38a0718c21b70726
parent811ead5b571af7e795796a0ce76e04a44387e0be (diff)
automatic import of python-apollo-lunaropeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-apollo-lunar.spec718
-rw-r--r--sources1
3 files changed, 720 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..eb36b28 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/apollo-lunar-2023.3.22.tar.gz
diff --git a/python-apollo-lunar.spec b/python-apollo-lunar.spec
new file mode 100644
index 0000000..8d28378
--- /dev/null
+++ b/python-apollo-lunar.spec
@@ -0,0 +1,718 @@
+%global _empty_manifest_terminate_build 0
+Name: python-apollo-lunar
+Version: 2023.3.22
+Release: 1
+Summary: A Python SDK/CLI for Lunar API
+License: MIT
+URL: https://pypi.org/project/apollo-lunar/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a8/3f/a2c683f07b69d534e8d4b92729a8c3819c294915b810971a8385600bdbf6/apollo-lunar-2023.3.22.tar.gz
+BuildArch: noarch
+
+Requires: python3-click
+Requires: python3-requests
+Requires: python3-pydantic
+Requires: python3-aiohttp
+Requires: python3-scikit-learn
+Requires: python3-catboost
+Requires: python3-lightgbm
+Requires: python3-xgboost
+Requires: python3-boto3
+Requires: python3-cloudpickle
+
+%description
+# lunar-sdk
+
+## Contents
+- [Description](#description)
+- [Installation](#installation)
+- [How to use](#how-to-use)
+ - [credentials](#credentials)
+ - [SDK](#sdk)
+ - [CLI](#cli)
+- [Development](#development)
+ - [Requirements for development](#requirements-for-development)
+ - [Python environment](#python-environment)
+ - [Documents generation](#documents-generation)
+
+
+SDK for lunar microservices
+
+## Description
+
+A Python based SDK & CLI for Lunar microservices
+
+This python package includes
+- Functions for [lunar-rec](https://github.com/sktaiflow/lunar-rec)
+- CLI (Command Line Interface) named `lunar`
+
+## Installation
+
+Build package and wheel files with `poetry`.
+
+```bash
+# installation
+poetry install
+
+poetry run lunar -h
+```
+
+## How to use
+
+### Credentials
+`lunar` uses a credentials file to setup a config(`env`, `apikey`) with a `init` file type.
+The path for credentials file and format must be as follow:
+
+```bash
+[Path]
+
+.lunar/credentials
+```
+
+```bash
+[default]
+env=local
+apikey=ABCDEFG123
+
+[dev]
+env=dev
+apikey=AERSDF123
+
+[stg]
+env=stg
+apikey=HIJKLMNO456
+
+[prd]
+env=prd
+apikey=PQRSTUV789
+```
+The first [default] is used when SDK / CLI is run without a specified profile.
+
+To specify a profile, use `AWS_PROFILE` to overrides the default profile for commands that run in that session.
+
+```bash
+export AWS_PROFILE=stg
+```
+
+### SDK
+
+`lunar` package provides functions for using all lunar microservices.
+For the detailed information related to each function, please refer to [Docs](https://sktaiflow.github.io/lunar-sdk/lunar/).
+
+Here is an example for CRUDing channels:
+
+```python
+import lunar
+
+# Environment for Lunar-rec is automatically set with credential file
+client = lunar.client("channel")
+
+# Get list of channels
+channels = client.get_channels()
+
+# Get a channel
+channel = client.get_channel(id="test_channel")
+
+# Create a channel
+channel = client.create_channel(id="new_channel", experiment_id="new_experiment")
+
+# Update(or partial) a channel
+updated_channel = client.update_channel(id="test_channel", experiment_id="a")
+partially_updated_channel = client.update_channel_partial(id="test_channel", experiment_id="ab")
+
+# Delete a channel
+client.delete_channel(channel.id)
+```
+
+All functions on the SDK also supports asyncio. If necessary, use an async version of each function.
+- Naming rule: Suffix with **_async**. (e.g. `list_channels()` → `list_channels_async()`)
+
+### CLI
+
+`lunar` also provides CLI (Command Line Interface) generated by [click](https://click.palletsprojects.com/) package.
+
+```zsh
+poetry run lunar -h
+```
+
+should show something like the below:
+
+``` zsh
+Usage: lunar [OPTIONS] COMMAND [ARGS]...
+
+Options:
+ -h, --help Show this message and exit.
+
+Commands:
+ channel Channels on lunar-rec
+ experiment Experiments on lunar-rec
+ recommend Recommendation on lunar-rec
+```
+
+Each option also has its own usage instruction.
+
+``` zsh
+poetry run lunar experiments -h
+
+Usage: lunar experiment [OPTIONS] {CREATE|LIST|READ|UPDATE|DELETE}
+
+ Experiments on lunar-rec
+
+ Send a request to Lunar Recommendation API (`/v1/experiemnts/`).
+
+ Return: dict or list(dict)
+
+Options:
+ -i, --id TEXT Unique identifier of a channel
+ -b, --buckets <TEXT INTEGER>...
+ Bucket list
+ -s, --bucketing-seed TEXT Random seed for bucketing
+ -p, --partial Partial update or not (default: False)
+ -h, --help Show this message and exit.
+```
+
+## Development
+
+### Requirements for development
+
+- Python 3.8
+- Poetry
+
+Installing Python 3.8 with [pyenv](https://github.com/pyenv/pyenv) is recommended. Check [this](https://github.com/pyenv/pyenv#installation).
+
+For zsh,
+
+```zsh
+# Install Xcode command line tools (Only if you don't have it already)
+xcode-select --install
+
+# Install pyenv and its dependencies
+brew update
+brew install pyenv openssl readline sqlite3 xz zlib
+
+echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
+eval '"$(pyenv init -)"' >> ~/.zshrc
+
+# Restart the terminal
+
+# Install Python 3.8
+pyenv install 3.8.10
+pyenv global 3.8.10
+
+# Restart the terminal
+
+# Check if the version is right
+python -V
+
+# Install Poetry
+curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
+poetry config virtualenvs.in-project true
+```
+
+should work.
+
+### Python environment
+
+```zsh
+poetry install
+```
+
+If you need additional deps,
+
+```zsh
+# For production
+poetry add package_name
+
+# For development only
+poetry add --dev package_name
+```
+
+### Documents generation
+
+```bash
+rm -rf docs
+pdoc --html --config show_source_code=False -f -o ./docs lunar
+```
+
+
+%package -n python3-apollo-lunar
+Summary: A Python SDK/CLI for Lunar API
+Provides: python-apollo-lunar
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-apollo-lunar
+# lunar-sdk
+
+## Contents
+- [Description](#description)
+- [Installation](#installation)
+- [How to use](#how-to-use)
+ - [credentials](#credentials)
+ - [SDK](#sdk)
+ - [CLI](#cli)
+- [Development](#development)
+ - [Requirements for development](#requirements-for-development)
+ - [Python environment](#python-environment)
+ - [Documents generation](#documents-generation)
+
+
+SDK for lunar microservices
+
+## Description
+
+A Python based SDK & CLI for Lunar microservices
+
+This python package includes
+- Functions for [lunar-rec](https://github.com/sktaiflow/lunar-rec)
+- CLI (Command Line Interface) named `lunar`
+
+## Installation
+
+Build package and wheel files with `poetry`.
+
+```bash
+# installation
+poetry install
+
+poetry run lunar -h
+```
+
+## How to use
+
+### Credentials
+`lunar` uses a credentials file to setup a config(`env`, `apikey`) with a `init` file type.
+The path for credentials file and format must be as follow:
+
+```bash
+[Path]
+
+.lunar/credentials
+```
+
+```bash
+[default]
+env=local
+apikey=ABCDEFG123
+
+[dev]
+env=dev
+apikey=AERSDF123
+
+[stg]
+env=stg
+apikey=HIJKLMNO456
+
+[prd]
+env=prd
+apikey=PQRSTUV789
+```
+The first [default] is used when SDK / CLI is run without a specified profile.
+
+To specify a profile, use `AWS_PROFILE` to overrides the default profile for commands that run in that session.
+
+```bash
+export AWS_PROFILE=stg
+```
+
+### SDK
+
+`lunar` package provides functions for using all lunar microservices.
+For the detailed information related to each function, please refer to [Docs](https://sktaiflow.github.io/lunar-sdk/lunar/).
+
+Here is an example for CRUDing channels:
+
+```python
+import lunar
+
+# Environment for Lunar-rec is automatically set with credential file
+client = lunar.client("channel")
+
+# Get list of channels
+channels = client.get_channels()
+
+# Get a channel
+channel = client.get_channel(id="test_channel")
+
+# Create a channel
+channel = client.create_channel(id="new_channel", experiment_id="new_experiment")
+
+# Update(or partial) a channel
+updated_channel = client.update_channel(id="test_channel", experiment_id="a")
+partially_updated_channel = client.update_channel_partial(id="test_channel", experiment_id="ab")
+
+# Delete a channel
+client.delete_channel(channel.id)
+```
+
+All functions on the SDK also supports asyncio. If necessary, use an async version of each function.
+- Naming rule: Suffix with **_async**. (e.g. `list_channels()` → `list_channels_async()`)
+
+### CLI
+
+`lunar` also provides CLI (Command Line Interface) generated by [click](https://click.palletsprojects.com/) package.
+
+```zsh
+poetry run lunar -h
+```
+
+should show something like the below:
+
+``` zsh
+Usage: lunar [OPTIONS] COMMAND [ARGS]...
+
+Options:
+ -h, --help Show this message and exit.
+
+Commands:
+ channel Channels on lunar-rec
+ experiment Experiments on lunar-rec
+ recommend Recommendation on lunar-rec
+```
+
+Each option also has its own usage instruction.
+
+``` zsh
+poetry run lunar experiments -h
+
+Usage: lunar experiment [OPTIONS] {CREATE|LIST|READ|UPDATE|DELETE}
+
+ Experiments on lunar-rec
+
+ Send a request to Lunar Recommendation API (`/v1/experiemnts/`).
+
+ Return: dict or list(dict)
+
+Options:
+ -i, --id TEXT Unique identifier of a channel
+ -b, --buckets <TEXT INTEGER>...
+ Bucket list
+ -s, --bucketing-seed TEXT Random seed for bucketing
+ -p, --partial Partial update or not (default: False)
+ -h, --help Show this message and exit.
+```
+
+## Development
+
+### Requirements for development
+
+- Python 3.8
+- Poetry
+
+Installing Python 3.8 with [pyenv](https://github.com/pyenv/pyenv) is recommended. Check [this](https://github.com/pyenv/pyenv#installation).
+
+For zsh,
+
+```zsh
+# Install Xcode command line tools (Only if you don't have it already)
+xcode-select --install
+
+# Install pyenv and its dependencies
+brew update
+brew install pyenv openssl readline sqlite3 xz zlib
+
+echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
+eval '"$(pyenv init -)"' >> ~/.zshrc
+
+# Restart the terminal
+
+# Install Python 3.8
+pyenv install 3.8.10
+pyenv global 3.8.10
+
+# Restart the terminal
+
+# Check if the version is right
+python -V
+
+# Install Poetry
+curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
+poetry config virtualenvs.in-project true
+```
+
+should work.
+
+### Python environment
+
+```zsh
+poetry install
+```
+
+If you need additional deps,
+
+```zsh
+# For production
+poetry add package_name
+
+# For development only
+poetry add --dev package_name
+```
+
+### Documents generation
+
+```bash
+rm -rf docs
+pdoc --html --config show_source_code=False -f -o ./docs lunar
+```
+
+
+%package help
+Summary: Development documents and examples for apollo-lunar
+Provides: python3-apollo-lunar-doc
+%description help
+# lunar-sdk
+
+## Contents
+- [Description](#description)
+- [Installation](#installation)
+- [How to use](#how-to-use)
+ - [credentials](#credentials)
+ - [SDK](#sdk)
+ - [CLI](#cli)
+- [Development](#development)
+ - [Requirements for development](#requirements-for-development)
+ - [Python environment](#python-environment)
+ - [Documents generation](#documents-generation)
+
+
+SDK for lunar microservices
+
+## Description
+
+A Python based SDK & CLI for Lunar microservices
+
+This python package includes
+- Functions for [lunar-rec](https://github.com/sktaiflow/lunar-rec)
+- CLI (Command Line Interface) named `lunar`
+
+## Installation
+
+Build package and wheel files with `poetry`.
+
+```bash
+# installation
+poetry install
+
+poetry run lunar -h
+```
+
+## How to use
+
+### Credentials
+`lunar` uses a credentials file to setup a config(`env`, `apikey`) with a `init` file type.
+The path for credentials file and format must be as follow:
+
+```bash
+[Path]
+
+.lunar/credentials
+```
+
+```bash
+[default]
+env=local
+apikey=ABCDEFG123
+
+[dev]
+env=dev
+apikey=AERSDF123
+
+[stg]
+env=stg
+apikey=HIJKLMNO456
+
+[prd]
+env=prd
+apikey=PQRSTUV789
+```
+The first [default] is used when SDK / CLI is run without a specified profile.
+
+To specify a profile, use `AWS_PROFILE` to overrides the default profile for commands that run in that session.
+
+```bash
+export AWS_PROFILE=stg
+```
+
+### SDK
+
+`lunar` package provides functions for using all lunar microservices.
+For the detailed information related to each function, please refer to [Docs](https://sktaiflow.github.io/lunar-sdk/lunar/).
+
+Here is an example for CRUDing channels:
+
+```python
+import lunar
+
+# Environment for Lunar-rec is automatically set with credential file
+client = lunar.client("channel")
+
+# Get list of channels
+channels = client.get_channels()
+
+# Get a channel
+channel = client.get_channel(id="test_channel")
+
+# Create a channel
+channel = client.create_channel(id="new_channel", experiment_id="new_experiment")
+
+# Update(or partial) a channel
+updated_channel = client.update_channel(id="test_channel", experiment_id="a")
+partially_updated_channel = client.update_channel_partial(id="test_channel", experiment_id="ab")
+
+# Delete a channel
+client.delete_channel(channel.id)
+```
+
+All functions on the SDK also supports asyncio. If necessary, use an async version of each function.
+- Naming rule: Suffix with **_async**. (e.g. `list_channels()` → `list_channels_async()`)
+
+### CLI
+
+`lunar` also provides CLI (Command Line Interface) generated by [click](https://click.palletsprojects.com/) package.
+
+```zsh
+poetry run lunar -h
+```
+
+should show something like the below:
+
+``` zsh
+Usage: lunar [OPTIONS] COMMAND [ARGS]...
+
+Options:
+ -h, --help Show this message and exit.
+
+Commands:
+ channel Channels on lunar-rec
+ experiment Experiments on lunar-rec
+ recommend Recommendation on lunar-rec
+```
+
+Each option also has its own usage instruction.
+
+``` zsh
+poetry run lunar experiments -h
+
+Usage: lunar experiment [OPTIONS] {CREATE|LIST|READ|UPDATE|DELETE}
+
+ Experiments on lunar-rec
+
+ Send a request to Lunar Recommendation API (`/v1/experiemnts/`).
+
+ Return: dict or list(dict)
+
+Options:
+ -i, --id TEXT Unique identifier of a channel
+ -b, --buckets <TEXT INTEGER>...
+ Bucket list
+ -s, --bucketing-seed TEXT Random seed for bucketing
+ -p, --partial Partial update or not (default: False)
+ -h, --help Show this message and exit.
+```
+
+## Development
+
+### Requirements for development
+
+- Python 3.8
+- Poetry
+
+Installing Python 3.8 with [pyenv](https://github.com/pyenv/pyenv) is recommended. Check [this](https://github.com/pyenv/pyenv#installation).
+
+For zsh,
+
+```zsh
+# Install Xcode command line tools (Only if you don't have it already)
+xcode-select --install
+
+# Install pyenv and its dependencies
+brew update
+brew install pyenv openssl readline sqlite3 xz zlib
+
+echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
+eval '"$(pyenv init -)"' >> ~/.zshrc
+
+# Restart the terminal
+
+# Install Python 3.8
+pyenv install 3.8.10
+pyenv global 3.8.10
+
+# Restart the terminal
+
+# Check if the version is right
+python -V
+
+# Install Poetry
+curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
+poetry config virtualenvs.in-project true
+```
+
+should work.
+
+### Python environment
+
+```zsh
+poetry install
+```
+
+If you need additional deps,
+
+```zsh
+# For production
+poetry add package_name
+
+# For development only
+poetry add --dev package_name
+```
+
+### Documents generation
+
+```bash
+rm -rf docs
+pdoc --html --config show_source_code=False -f -o ./docs lunar
+```
+
+
+%prep
+%autosetup -n apollo-lunar-2023.3.22
+
+%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-apollo-lunar -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2023.3.22-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..96fe596
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+02a35850835184e6e3cc3c8d0ca2d7dd apollo-lunar-2023.3.22.tar.gz