|author||Ivan Dashchinskiy <firstname.lastname@example.org>||Wed Mar 31 15:49:07 2021 +0300|
|committer||Igor Sapego <email@example.com>||Wed Mar 31 15:49:07 2021 +0300|
IGNITE-14444 Move affinity mapping storage and best node calculation to clients This closes #26
Apache Ignite thin (binary protocol) client, written in Python 3.
If you only want to use the
pyignite module in your project, do:
$ pip install pyignite
If you want to run tests, examples or build documentation, clone the whole repository:
$ git clone firstname.lastname@example.org: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 in the
Then run through the contents of
requirements folder to install the additional requirements into your working Python environment using
$ pip install -r requirements/<your task>.txt
You may also want to consult the
setuptools manual about using
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 (
clang). It compiles during standard setup process.
For building universal
wheels (binary packages) for Linux, just invoke script
NB! Docker is required.
Ready wheels for
x86-64 for different python versions (3.6, 3.7, 3.8 and 3.9) will be located in
To upgrade an existing package, use the following command:
pip install --upgrade pyignite
To install the latest version of a package:
pip install pyignite
To install a specific version:
pip install pyignite==0.4.0
The package documentation 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:
$ pip install -r requirements/docs.txt $ cd docs $ make html
docs/generated/html/index.html in your browser.
Some examples of using pyignite are provided in
examples folder. They are extensively commented in the “Examples of usage” 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.
NB! It is recommended installing
pyignite in development mode. Refer to this section for instructions.
Do not forget to install test requirements:
$ pip install -r requirements/install.txt -r requirements/tests.txt
Also, you'll need to have a binary release of Ignite with lib4j2 enabled and
IGNITE_HOME properly set:
$ cd <ignite_binary_release> $ export IGNITE_HOME=$(pwd) $ cp -r $IGNITE_HOME/libs/optional/ignite-log4j2 $IGNITE_HOME/libs/
$ pytest --examples
$ pytest --use-ssl=True --ssl-certfile=./tests/ssl/client_full.pem
$ pytest --use-ssl=True --ssl-certfile=./tests/config/ssl/client_with_pass_full.pem --ssl-keyfile-password=654321
If you need to change the connection parameters, see the documentation on testing.