summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pyignite.spec444
-rw-r--r--sources1
3 files changed, 446 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..97b4ec9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyignite-0.6.1.zip
diff --git a/python-pyignite.spec b/python-pyignite.spec
new file mode 100644
index 0000000..860ef37
--- /dev/null
+++ b/python-pyignite.spec
@@ -0,0 +1,444 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pyignite
+Version: 0.6.1
+Release: 1
+Summary: Apache Ignite binary client Python API
+License: Apache License 2.0
+URL: https://github.com/apache/ignite-python-thin-client
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d7/14/291078723056d19d504e157db14b6074fc1e9336e475e0110cf5848eff15/pyignite-0.6.1.zip
+
+Requires: python3-attrs
+
+%description
+# ignite-python-client
+Apache Ignite thin (binary protocol) client, written in Python 3.
+
+## Prerequisites
+
+- Python 3.7 or above (3.7, 3.8, 3.9, 3.10 and 3.11 are tested),
+- Access to Apache Ignite node, local or remote. The current thin client
+ version was tested on Apache Ignite 2.14 (binary client protocol 1.7.0).
+
+## Installation
+
+### *for end user*
+If you only want to use the `pyignite` module in your project, do:
+```bash
+$ pip install pyignite
+```
+
+### *for developer*
+If you want to run tests, examples or build documentation, clone
+the whole repository:
+```bash
+$ git clone git@github.com:apache/ignite-python-thin-client.git
+$ pip install -e .
+```
+
+This will install the repository version of `pyignite` into your environment
+in so-called “develop” or “editable” mode. You may read more about
+[editable installs](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs)
+in the `pip` manual.
+
+Then run through the contents of `requirements` folder to install
+the additional requirements into your working Python environment using
+```bash
+$ pip install -r requirements/<your task>.txt
+```
+
+You may also want to consult the `setuptools` manual about using `setup.py`.
+
+### *optional C extension*
+There is an optional C extension to speedup some computational intensive tasks. If it's compilation fails
+(missing compiler or CPython headers), `pyignite` will be installed without this module.
+
+- On Linux or MacOS X only C compiler is required (`gcc` or `clang`). It compiles during standard setup process.
+- For building universal `wheels` (binary packages) for Linux, just invoke script `./scripts/create_distr.sh`.
+
+ ***NB!* Docker is required.**
+
+- On Windows MSVC 14.x required, and it should be in path, also python versions 3.7, 3.8, 3.9, 3.10 and 3.11 both for x86 and
+ x86-64 should be installed. You can disable some of these versions but you'd need to edit script for that.
+- For building `wheels` for Windows, invoke script `.\scripts\BuildWheels.ps1` using PowerShell. Just make sure that
+ your execution policy allows execution of scripts in your environment.
+
+ Ready wheels for `x86` and `x86-64` for different python versions (3.7, 3.8, 3.9 and 3.10) will be
+ located in `distr` directory.
+
+### Updating from older version
+
+To upgrade an existing package, use the following command:
+```bash
+pip install --upgrade pyignite
+```
+
+To install the latest version of a package:
+```bash
+pip install pyignite
+```
+
+To install a specific version:
+```bash
+pip install pyignite==0.6.1
+```
+
+## Documentation
+[The package documentation](https://apache-ignite-binary-protocol-client.readthedocs.io)
+is available at *RTD* for your convenience.
+
+If you want to build the documentation from source, do the developer
+installation as described above, then run the following commands from the
+client's root directory:
+```bash
+$ pip install -r requirements/docs.txt
+$ cd docs
+$ make html
+```
+
+Then open `docs/generated/html/index.html` in your browser.
+
+## Examples
+Some examples of using pyignite are provided in `examples` folder. They are
+extensively commented in the
+“[Examples of usage](https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/examples.html)”
+section of the documentation.
+
+This code implies that it is run in the environment with `pyignite` package
+installed, and Apache Ignite node is running on localhost:10800.
+
+## Testing
+*NB!* It is recommended installing `pyignite` in development mode.
+Refer to [this section](#for-developer) for instructions.
+
+Do not forget to install test requirements:
+```bash
+$ pip install -r requirements/install.txt -r requirements/tests.txt
+```
+
+Also, you'll need to have a binary release of Ignite with `log4j2` enabled and to set
+`IGNITE_HOME` environment variable:
+```bash
+$ cd <ignite_binary_release>
+$ export IGNITE_HOME=$(pwd)
+$ cp -r $IGNITE_HOME/libs/optional/ignite-log4j2 $IGNITE_HOME/libs/
+```
+### Run basic tests
+```bash
+$ pytest
+```
+### Run with examples
+```bash
+$ pytest --examples
+```
+
+If you need to change the connection parameters, see the documentation on
+[testing](https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/readme.html#testing).
+
+
+%package -n python3-pyignite
+Summary: Apache Ignite binary client Python API
+Provides: python-pyignite
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-pyignite
+# ignite-python-client
+Apache Ignite thin (binary protocol) client, written in Python 3.
+
+## Prerequisites
+
+- Python 3.7 or above (3.7, 3.8, 3.9, 3.10 and 3.11 are tested),
+- Access to Apache Ignite node, local or remote. The current thin client
+ version was tested on Apache Ignite 2.14 (binary client protocol 1.7.0).
+
+## Installation
+
+### *for end user*
+If you only want to use the `pyignite` module in your project, do:
+```bash
+$ pip install pyignite
+```
+
+### *for developer*
+If you want to run tests, examples or build documentation, clone
+the whole repository:
+```bash
+$ git clone git@github.com:apache/ignite-python-thin-client.git
+$ pip install -e .
+```
+
+This will install the repository version of `pyignite` into your environment
+in so-called “develop” or “editable” mode. You may read more about
+[editable installs](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs)
+in the `pip` manual.
+
+Then run through the contents of `requirements` folder to install
+the additional requirements into your working Python environment using
+```bash
+$ pip install -r requirements/<your task>.txt
+```
+
+You may also want to consult the `setuptools` manual about using `setup.py`.
+
+### *optional C extension*
+There is an optional C extension to speedup some computational intensive tasks. If it's compilation fails
+(missing compiler or CPython headers), `pyignite` will be installed without this module.
+
+- On Linux or MacOS X only C compiler is required (`gcc` or `clang`). It compiles during standard setup process.
+- For building universal `wheels` (binary packages) for Linux, just invoke script `./scripts/create_distr.sh`.
+
+ ***NB!* Docker is required.**
+
+- On Windows MSVC 14.x required, and it should be in path, also python versions 3.7, 3.8, 3.9, 3.10 and 3.11 both for x86 and
+ x86-64 should be installed. You can disable some of these versions but you'd need to edit script for that.
+- For building `wheels` for Windows, invoke script `.\scripts\BuildWheels.ps1` using PowerShell. Just make sure that
+ your execution policy allows execution of scripts in your environment.
+
+ Ready wheels for `x86` and `x86-64` for different python versions (3.7, 3.8, 3.9 and 3.10) will be
+ located in `distr` directory.
+
+### Updating from older version
+
+To upgrade an existing package, use the following command:
+```bash
+pip install --upgrade pyignite
+```
+
+To install the latest version of a package:
+```bash
+pip install pyignite
+```
+
+To install a specific version:
+```bash
+pip install pyignite==0.6.1
+```
+
+## Documentation
+[The package documentation](https://apache-ignite-binary-protocol-client.readthedocs.io)
+is available at *RTD* for your convenience.
+
+If you want to build the documentation from source, do the developer
+installation as described above, then run the following commands from the
+client's root directory:
+```bash
+$ pip install -r requirements/docs.txt
+$ cd docs
+$ make html
+```
+
+Then open `docs/generated/html/index.html` in your browser.
+
+## Examples
+Some examples of using pyignite are provided in `examples` folder. They are
+extensively commented in the
+“[Examples of usage](https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/examples.html)”
+section of the documentation.
+
+This code implies that it is run in the environment with `pyignite` package
+installed, and Apache Ignite node is running on localhost:10800.
+
+## Testing
+*NB!* It is recommended installing `pyignite` in development mode.
+Refer to [this section](#for-developer) for instructions.
+
+Do not forget to install test requirements:
+```bash
+$ pip install -r requirements/install.txt -r requirements/tests.txt
+```
+
+Also, you'll need to have a binary release of Ignite with `log4j2` enabled and to set
+`IGNITE_HOME` environment variable:
+```bash
+$ cd <ignite_binary_release>
+$ export IGNITE_HOME=$(pwd)
+$ cp -r $IGNITE_HOME/libs/optional/ignite-log4j2 $IGNITE_HOME/libs/
+```
+### Run basic tests
+```bash
+$ pytest
+```
+### Run with examples
+```bash
+$ pytest --examples
+```
+
+If you need to change the connection parameters, see the documentation on
+[testing](https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/readme.html#testing).
+
+
+%package help
+Summary: Development documents and examples for pyignite
+Provides: python3-pyignite-doc
+%description help
+# ignite-python-client
+Apache Ignite thin (binary protocol) client, written in Python 3.
+
+## Prerequisites
+
+- Python 3.7 or above (3.7, 3.8, 3.9, 3.10 and 3.11 are tested),
+- Access to Apache Ignite node, local or remote. The current thin client
+ version was tested on Apache Ignite 2.14 (binary client protocol 1.7.0).
+
+## Installation
+
+### *for end user*
+If you only want to use the `pyignite` module in your project, do:
+```bash
+$ pip install pyignite
+```
+
+### *for developer*
+If you want to run tests, examples or build documentation, clone
+the whole repository:
+```bash
+$ git clone git@github.com:apache/ignite-python-thin-client.git
+$ pip install -e .
+```
+
+This will install the repository version of `pyignite` into your environment
+in so-called “develop” or “editable” mode. You may read more about
+[editable installs](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs)
+in the `pip` manual.
+
+Then run through the contents of `requirements` folder to install
+the additional requirements into your working Python environment using
+```bash
+$ pip install -r requirements/<your task>.txt
+```
+
+You may also want to consult the `setuptools` manual about using `setup.py`.
+
+### *optional C extension*
+There is an optional C extension to speedup some computational intensive tasks. If it's compilation fails
+(missing compiler or CPython headers), `pyignite` will be installed without this module.
+
+- On Linux or MacOS X only C compiler is required (`gcc` or `clang`). It compiles during standard setup process.
+- For building universal `wheels` (binary packages) for Linux, just invoke script `./scripts/create_distr.sh`.
+
+ ***NB!* Docker is required.**
+
+- On Windows MSVC 14.x required, and it should be in path, also python versions 3.7, 3.8, 3.9, 3.10 and 3.11 both for x86 and
+ x86-64 should be installed. You can disable some of these versions but you'd need to edit script for that.
+- For building `wheels` for Windows, invoke script `.\scripts\BuildWheels.ps1` using PowerShell. Just make sure that
+ your execution policy allows execution of scripts in your environment.
+
+ Ready wheels for `x86` and `x86-64` for different python versions (3.7, 3.8, 3.9 and 3.10) will be
+ located in `distr` directory.
+
+### Updating from older version
+
+To upgrade an existing package, use the following command:
+```bash
+pip install --upgrade pyignite
+```
+
+To install the latest version of a package:
+```bash
+pip install pyignite
+```
+
+To install a specific version:
+```bash
+pip install pyignite==0.6.1
+```
+
+## Documentation
+[The package documentation](https://apache-ignite-binary-protocol-client.readthedocs.io)
+is available at *RTD* for your convenience.
+
+If you want to build the documentation from source, do the developer
+installation as described above, then run the following commands from the
+client's root directory:
+```bash
+$ pip install -r requirements/docs.txt
+$ cd docs
+$ make html
+```
+
+Then open `docs/generated/html/index.html` in your browser.
+
+## Examples
+Some examples of using pyignite are provided in `examples` folder. They are
+extensively commented in the
+“[Examples of usage](https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/examples.html)”
+section of the documentation.
+
+This code implies that it is run in the environment with `pyignite` package
+installed, and Apache Ignite node is running on localhost:10800.
+
+## Testing
+*NB!* It is recommended installing `pyignite` in development mode.
+Refer to [this section](#for-developer) for instructions.
+
+Do not forget to install test requirements:
+```bash
+$ pip install -r requirements/install.txt -r requirements/tests.txt
+```
+
+Also, you'll need to have a binary release of Ignite with `log4j2` enabled and to set
+`IGNITE_HOME` environment variable:
+```bash
+$ cd <ignite_binary_release>
+$ export IGNITE_HOME=$(pwd)
+$ cp -r $IGNITE_HOME/libs/optional/ignite-log4j2 $IGNITE_HOME/libs/
+```
+### Run basic tests
+```bash
+$ pytest
+```
+### Run with examples
+```bash
+$ pytest --examples
+```
+
+If you need to change the connection parameters, see the documentation on
+[testing](https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/readme.html#testing).
+
+
+%prep
+%autosetup -n pyignite-0.6.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-pyignite -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..33884df
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+118576a2371be567820f7561d066b76b pyignite-0.6.1.zip