diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-saagieapi.spec | 451 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 453 insertions, 0 deletions
@@ -0,0 +1 @@ +/saagieapi-2.4.1.tar.gz diff --git a/python-saagieapi.spec b/python-saagieapi.spec new file mode 100644 index 0000000..704c136 --- /dev/null +++ b/python-saagieapi.spec @@ -0,0 +1,451 @@ +%global _empty_manifest_terminate_build 0 +Name: python-saagieapi +Version: 2.4.1 +Release: 1 +Summary: Python API to interact with Saagie +License: GLWTPL +URL: https://github.com/saagie/api-saagie +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/48/5f/8f016d5ed2a41594e8b5670d34956c5f97f48175d979e2c62096c61b4857/saagieapi-2.4.1.tar.gz +BuildArch: noarch + +Requires: python3-croniter +Requires: python3-deprecation +Requires: python3-gql +Requires: python3-pytz +Requires: python3-requests +Requires: python3-requests_toolbelt +Requires: python3-rich + +%description + + +[](https://pypi.org/project/saagieapi/) + + +[][releases] + +[][contributors] + + +[releases]: https://github.com/saagie/api-saagie/releases + +[contributors]: https://github.com/saagie/api-saagie/graphs/contributors + +- [Presentation](#presentation) +- [Installation](#installing) +- [Usage](#usage) +- [Contributing](#contributing) + +## Presentation + +The `saagieapi` python package implements python API wrappers to easily interact with the Saagie platform in python. + +## Documentation + +You can find the documentation of this package [here](https://saagieapi.readthedocs.io/en/latest/). + +## Installing + +```bash +pip install saagieapi==<version> +``` + +### Compatibility with your Saagie platform + +| **Saagie platform version** | **saagie-api release** | +|-----------------------------|------------------------| +| < 2.2.0 | < 0.6.0 | +| >= 2.2.0 | >= 0.6.0 | +| >= 2023.01 | >= 2.4.0 | + +## Usage + +All the implemented features are documented in the [Wiki](https://github.com/saagie/api-saagie/wiki) + +Here's a full example of how to use the API: + +```python +from saagieapi import SaagieApi + +saagie = SaagieApi(url_saagie="<url>", + id_platform="1", + user="<saagie-user-name>", + password="<saagie-user-password>", + realm="saagie") + +# Create a project named 'Project_test' on the saagie platform +project_dict = saagie.projects.create(name="Project_test", + group="<saagie-group-with-proper-permissions>", + role='Manager', + description='A test project') + +# Save the project id +project_id = project_dict['createProject']['id'] + +# Create a python job named 'Python test job' inside this project +job_dict = saagie.jobs.create(job_name="Python test job", + project_id=project_id, + file='<path-to-local-file>', + description='Amazing python job', + category='Processing', + technology_catalog='Saagie', + technology='python', + runtime_version='3.8', + command_line='python {file} arg1 arg2', + release_note='', + extra_technology='') + +# Save the job id +job_id = job_dict['data']['createJob']['id'] + +# Run the python job and wait for its completion +saagie.jobs.run_with_callback(job_id=job_id, freq=10, timeout=-1) + +``` + +### Connecting to your platform + +There are 2 options to connect to your platform : + +1. using the default constructor: + + ```python + from saagieapi import * + saagie = SaagieApi(url_saagie="<url>", + id_platform="1", + user="<saagie-user-name>", + password="<saagie-user-password>", + realm="saagie") + ``` + +2. Using the `easy_connect` alternative constructor which uses the complete URL (eg: + <https://mysaagie-workspace.prod.saagie.com/projects/platform/6/>) and will + parse it in order to retrieve the platform URL, platform id and the realm. + + ```python + from saagieapi import * + saagie = SaagieApi.easy_connect(url_saagie_platform="<url>", + user="<saagie-user-name>", + password="<saagie-user-password>") + ``` + +If you want to know how to find the correct values for the URL, platform id and the realm, +please refer to the [Wiki](https://github.com/saagie/api-saagie/wiki#connecting-to-your-platform). + +## Contributing + +The complete guide to contribute is available here: +[Contributing](https://github.com/saagie/api-saagie/blob/master/CONTRIBUTING.md) + + +## :warning: Warning :warning: +This library is provided on an experimental basis and is not covered by Saagie support for the moment. + + + +%package -n python3-saagieapi +Summary: Python API to interact with Saagie +Provides: python-saagieapi +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-saagieapi + + +[](https://pypi.org/project/saagieapi/) + + +[][releases] + +[][contributors] + + +[releases]: https://github.com/saagie/api-saagie/releases + +[contributors]: https://github.com/saagie/api-saagie/graphs/contributors + +- [Presentation](#presentation) +- [Installation](#installing) +- [Usage](#usage) +- [Contributing](#contributing) + +## Presentation + +The `saagieapi` python package implements python API wrappers to easily interact with the Saagie platform in python. + +## Documentation + +You can find the documentation of this package [here](https://saagieapi.readthedocs.io/en/latest/). + +## Installing + +```bash +pip install saagieapi==<version> +``` + +### Compatibility with your Saagie platform + +| **Saagie platform version** | **saagie-api release** | +|-----------------------------|------------------------| +| < 2.2.0 | < 0.6.0 | +| >= 2.2.0 | >= 0.6.0 | +| >= 2023.01 | >= 2.4.0 | + +## Usage + +All the implemented features are documented in the [Wiki](https://github.com/saagie/api-saagie/wiki) + +Here's a full example of how to use the API: + +```python +from saagieapi import SaagieApi + +saagie = SaagieApi(url_saagie="<url>", + id_platform="1", + user="<saagie-user-name>", + password="<saagie-user-password>", + realm="saagie") + +# Create a project named 'Project_test' on the saagie platform +project_dict = saagie.projects.create(name="Project_test", + group="<saagie-group-with-proper-permissions>", + role='Manager', + description='A test project') + +# Save the project id +project_id = project_dict['createProject']['id'] + +# Create a python job named 'Python test job' inside this project +job_dict = saagie.jobs.create(job_name="Python test job", + project_id=project_id, + file='<path-to-local-file>', + description='Amazing python job', + category='Processing', + technology_catalog='Saagie', + technology='python', + runtime_version='3.8', + command_line='python {file} arg1 arg2', + release_note='', + extra_technology='') + +# Save the job id +job_id = job_dict['data']['createJob']['id'] + +# Run the python job and wait for its completion +saagie.jobs.run_with_callback(job_id=job_id, freq=10, timeout=-1) + +``` + +### Connecting to your platform + +There are 2 options to connect to your platform : + +1. using the default constructor: + + ```python + from saagieapi import * + saagie = SaagieApi(url_saagie="<url>", + id_platform="1", + user="<saagie-user-name>", + password="<saagie-user-password>", + realm="saagie") + ``` + +2. Using the `easy_connect` alternative constructor which uses the complete URL (eg: + <https://mysaagie-workspace.prod.saagie.com/projects/platform/6/>) and will + parse it in order to retrieve the platform URL, platform id and the realm. + + ```python + from saagieapi import * + saagie = SaagieApi.easy_connect(url_saagie_platform="<url>", + user="<saagie-user-name>", + password="<saagie-user-password>") + ``` + +If you want to know how to find the correct values for the URL, platform id and the realm, +please refer to the [Wiki](https://github.com/saagie/api-saagie/wiki#connecting-to-your-platform). + +## Contributing + +The complete guide to contribute is available here: +[Contributing](https://github.com/saagie/api-saagie/blob/master/CONTRIBUTING.md) + + +## :warning: Warning :warning: +This library is provided on an experimental basis and is not covered by Saagie support for the moment. + + + +%package help +Summary: Development documents and examples for saagieapi +Provides: python3-saagieapi-doc +%description help + + +[](https://pypi.org/project/saagieapi/) + + +[][releases] + +[][contributors] + + +[releases]: https://github.com/saagie/api-saagie/releases + +[contributors]: https://github.com/saagie/api-saagie/graphs/contributors + +- [Presentation](#presentation) +- [Installation](#installing) +- [Usage](#usage) +- [Contributing](#contributing) + +## Presentation + +The `saagieapi` python package implements python API wrappers to easily interact with the Saagie platform in python. + +## Documentation + +You can find the documentation of this package [here](https://saagieapi.readthedocs.io/en/latest/). + +## Installing + +```bash +pip install saagieapi==<version> +``` + +### Compatibility with your Saagie platform + +| **Saagie platform version** | **saagie-api release** | +|-----------------------------|------------------------| +| < 2.2.0 | < 0.6.0 | +| >= 2.2.0 | >= 0.6.0 | +| >= 2023.01 | >= 2.4.0 | + +## Usage + +All the implemented features are documented in the [Wiki](https://github.com/saagie/api-saagie/wiki) + +Here's a full example of how to use the API: + +```python +from saagieapi import SaagieApi + +saagie = SaagieApi(url_saagie="<url>", + id_platform="1", + user="<saagie-user-name>", + password="<saagie-user-password>", + realm="saagie") + +# Create a project named 'Project_test' on the saagie platform +project_dict = saagie.projects.create(name="Project_test", + group="<saagie-group-with-proper-permissions>", + role='Manager', + description='A test project') + +# Save the project id +project_id = project_dict['createProject']['id'] + +# Create a python job named 'Python test job' inside this project +job_dict = saagie.jobs.create(job_name="Python test job", + project_id=project_id, + file='<path-to-local-file>', + description='Amazing python job', + category='Processing', + technology_catalog='Saagie', + technology='python', + runtime_version='3.8', + command_line='python {file} arg1 arg2', + release_note='', + extra_technology='') + +# Save the job id +job_id = job_dict['data']['createJob']['id'] + +# Run the python job and wait for its completion +saagie.jobs.run_with_callback(job_id=job_id, freq=10, timeout=-1) + +``` + +### Connecting to your platform + +There are 2 options to connect to your platform : + +1. using the default constructor: + + ```python + from saagieapi import * + saagie = SaagieApi(url_saagie="<url>", + id_platform="1", + user="<saagie-user-name>", + password="<saagie-user-password>", + realm="saagie") + ``` + +2. Using the `easy_connect` alternative constructor which uses the complete URL (eg: + <https://mysaagie-workspace.prod.saagie.com/projects/platform/6/>) and will + parse it in order to retrieve the platform URL, platform id and the realm. + + ```python + from saagieapi import * + saagie = SaagieApi.easy_connect(url_saagie_platform="<url>", + user="<saagie-user-name>", + password="<saagie-user-password>") + ``` + +If you want to know how to find the correct values for the URL, platform id and the realm, +please refer to the [Wiki](https://github.com/saagie/api-saagie/wiki#connecting-to-your-platform). + +## Contributing + +The complete guide to contribute is available here: +[Contributing](https://github.com/saagie/api-saagie/blob/master/CONTRIBUTING.md) + + +## :warning: Warning :warning: +This library is provided on an experimental basis and is not covered by Saagie support for the moment. + + + +%prep +%autosetup -n saagieapi-2.4.1 + +%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-saagieapi -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.4.1-1 +- Package Spec generated @@ -0,0 +1 @@ +507a00bf69a2a4599a2c514feb1371e6 saagieapi-2.4.1.tar.gz |
