pygridgain
GridGain Community Edition thin (binary protocol) client, written in Python 3.
GridGain is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale.
The GridGain binary client protocol provides user applications the ability to communicate with an existing GridGain cluster without starting a full-fledged GridGain node. An application can connect to the cluster through a raw TCP socket.
Prerequisites
- Python 3.11 or above (3.11, 3.12, 3.13, 3.14 and 3.15 are tested),
- Access to GridGain node, local or remote. The current thin client version was tested on GridGain CE 8.8 and 8.9 (binary client protocol 1.7.1).
Installation
From PyPI
This is a recommended way for users. If you only want to use the pygridgain
module in your project, do:
$ pip install "pygridgain<9"
Installs GridGain 8.x client. <9 bound is required to avoid GridGain 9.x client.
From sources
This way is more suitable for developers or if you install client from zip archive.
- Download and/or unzip GridGain Python client sources to
gridgain_client_path - Go to
gridgain_client_pathfolder - Execute
pip install -e .
$ cd <gridgain_client_path>
$ pip install -e .
This will install the repository version of pygridgain into your environment
in so-called “develop” or “editable” mode. You may read more about
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
$ pip install -r requirements/<your task>.txt
For development, it is recommended to install tests requirements
$ pip install -r requirements/tests.txt
For checking codestyle run:
$ flake8
The package metadata lives in pyproject.toml; setup.py only builds the optional
C extension. You may also want to consult the
Python packaging guide.
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), pygridgain will be installed without this module.
-
On Linux or MacOS X only C compiler is required (
gccorclang). 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.11, 3.12, 3.13, 3.14 and 3.15 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
wheelsfor Windows, invoke script.\scripts\BuildWheels.ps1using PowerShell. Just make sure that your execution policy allows execution of scripts in your environment.Ready wheels for
x86andx86-64for different python versions (3.11, 3.12, 3.13, 3.14 and 3.15) will be located indistrdirectory. -
./scripts/create_distr.shalso builds the source distribution, as a.tar.gzand a.zip, into the samedistrdirectory.
Updating from older version
To upgrade an existing package, use the following command:
pip install --upgrade "pygridgain<9"
To install the latest version of a package:
pip install "pygridgain<9"
To install a specific version:
pip install pygridgain==1.7.0
Documentation
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 your virtualenv environment:
$ pip install -r requirements/docs.txt
$ cd docs
$ make html
Then open docs/generated/html/index.html in your browser.
If you feel that old version is stuck, do
$ make clean
$ sphinx-apidoc -feM -o source/ ../ ../setup.py
$ make html
And that should be it.
Examples
Some examples of using pygridgain 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 pygridgain package
installed, and GridGain node is running on localhost:10800, unless otherwise noted.
There is also a possibility to run examples alone with tests. For the explanation of testing, look up the Testing section.
Testing
NB! It is recommended installing pygridgain 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 GridGain with log4j2 enabled and to set
IGNITE_HOME environment variable:
$ cd <gridgain_binary_release>
$ export IGNITE_HOME=$(pwd)
$ cp -r $IGNITE_HOME/libs/optional/ignite-log4j2 $IGNITE_HOME/libs/
Run basic tests
$ pytest
Run with examples
$ pytest --examples
The --examples option runs the examples as one test. In this test assertion fails
if any of the examples' processes ends with non-zero exit code. If you wish to run
only the examples, supply also the name of the test function to the pytest
launcher:
$ pytest --examples tests/test_examples.py::test_examples
Examples are not parameterized for the sake of simplicity. They always run
with default parameters (host and port) regardless of any other pytest option.
Since failover, SSL and authentication examples are meant to be controlled by user or depend on special configuration of the GridGain cluster, they can not be automated.
Using tox
For automate running tests against different python version, it is recommended to use tox
$ pip install tox
$ tox
Licensing
Licensed under the MariaDB Software License Terms; see licenses/LICENSE.
Metadata
Release files for pygridgain 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pygridgain-1.7.0.tar.gz | 321.6 kB | Without provenance | Details for pygridgain-1.7.0.tar.gz |
Built distributions (wheels)
Total release size: 3.6 MB
Release files / pygridgain-1.7.0.tar.gz
| Download URL | pygridgain-1.7.0.tar.gz |
|---|---|
| Size | 321.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ff68bda33b146ae5bcf89877e865f9855d809cbfc00ea68c03a1679e83af973d
|
|
BLAKE2b-256 checksum How to use checksums |
7d000026cf12432bf6f979c9e872aed2d5b172177a97b4c9d8f5c5ca6b623138
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp315-cp315-win_amd64.whl
| Download URL | pygridgain-1.7.0-cp315-cp315-win_amd64.whl |
|---|---|
| Size | 157.5 kB |
| Tags | CPython 3.15 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
11b7d19b8148792bcc91563e9bff652bac6c1090e4c8c9539fbb082da9026459
|
|
BLAKE2b-256 checksum How to use checksums |
b6fc6108480a653fea9fb1067ca8bf402f1103a003ffbd26d4adab4b2a1c4fd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp315-cp315-win32.whl
| Download URL | pygridgain-1.7.0-cp315-cp315-win32.whl |
|---|---|
| Size | 157.1 kB |
| Tags | CPython 3.15 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
ddbcc505461ac72143b2c5a6edc8b827603e73181eca775b025f543d35652ac1
|
|
BLAKE2b-256 checksum How to use checksums |
4d17957d23e7a82ea5a5b7541b5778ce46bdf243b3b4688ad3f7d88d26d7e907
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp315-cp315-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pygridgain-1.7.0-cp315-cp315-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 166.8 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
d3d363f5bf89417c17223e2e14614ab2b1176ce37a9b17085c432e575bbf26b1
|
|
BLAKE2b-256 checksum How to use checksums |
174cfc375fb68be9f995acffa13ab428a5b86ff7c09fd9c664f8866d57657b8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp315-cp315-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
| Download URL | pygridgain-1.7.0-cp315-cp315-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl |
|---|---|
| Size | 166.4 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
9e42ff000c3a9005cf87884719bd404b4848dc49f1de1e33b6f105ec3ba1455f
|
|
BLAKE2b-256 checksum How to use checksums |
879fc2a7cf338840939ad1bb3175fe5e3759970c981f5b6b7d33c23dffdf8b9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp314-cp314-win_amd64.whl
| Download URL | pygridgain-1.7.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 157.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f13a96419f16eed8c967125af92f2739b08bbfcf3557868717480cbda36966c6
|
|
BLAKE2b-256 checksum How to use checksums |
37199b05d4bbb76d543f064c2cd2253a8fb28c7f85511954a767c7b8ee84c450
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp314-cp314-win32.whl
| Download URL | pygridgain-1.7.0-cp314-cp314-win32.whl |
|---|---|
| Size | 157.2 kB |
| Tags | CPython 3.14 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
592b310400e4a3631e6e9e15b39400f37430e115000778810a9bc4c3d977dd6b
|
|
BLAKE2b-256 checksum How to use checksums |
1bcb698a23942b3eb51aaaa880fa3329869dc46b605e36f523de82a9214d666c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pygridgain-1.7.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 166.7 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
1e6fca3a69fd135682ac0df83255f07fcaa27ff78fe4a5411339bb904ed45f63
|
|
BLAKE2b-256 checksum How to use checksums |
153e5ee11bb191e4d7380b49da883b70d8621cd90b8a47e9f8f50ca78fcf89d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
| Download URL | pygridgain-1.7.0-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl |
|---|---|
| Size | 166.2 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
1ce0b722a0649143a24ab72e968a4960ceb391e1744a810a079f4c53335838f0
|
|
BLAKE2b-256 checksum How to use checksums |
a8f864606bfcd4026a7f78f31c53c6f9c66d57bd067e7b5175f68aa678e55ea9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp313-cp313-win_amd64.whl
| Download URL | pygridgain-1.7.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 157.4 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5d0528bcf133102909f673f07d1d170f5971c10e0a7246e1fc0853c32d521e9c
|
|
BLAKE2b-256 checksum How to use checksums |
3f02ac32aa933a7fdcfe7c59c978ed861d208e21d86b21f7fb4967585718ec24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp313-cp313-win32.whl
| Download URL | pygridgain-1.7.0-cp313-cp313-win32.whl |
|---|---|
| Size | 157.1 kB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
6f14aed6f9b1947fd79685ccf19569a317c387cdcec785ce64025c45ca14340b
|
|
BLAKE2b-256 checksum How to use checksums |
a15cf400c35f54c3a17e6bef54fdba706464feea06a2280d7dfdf8002aa8db71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pygridgain-1.7.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 173.6 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
db25db92107241a0526d1808fb5321fb0db5108c9515e5543cf5c77e24526887
|
|
BLAKE2b-256 checksum How to use checksums |
57f1a6245f4d98687c72402bfc234ccd0e9bae559f6fac0d1e74784f0c53041e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
| Download URL | pygridgain-1.7.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl |
|---|---|
| Size | 173.1 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
412e52887165270314109cc79db3baa8feef1c6e0c02ceb6b1728c47281489ea
|
|
BLAKE2b-256 checksum How to use checksums |
1edbe6e5464f961effc17a2fafde9aff85eb40f7fc80c3629dae2f5a5782ad16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp312-cp312-win_amd64.whl
| Download URL | pygridgain-1.7.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 157.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5e03b660113df769272d6573dc25765710191aa9fa7aac77d51e1b831aa3915f
|
|
BLAKE2b-256 checksum How to use checksums |
2ddfa6f913294074935133b85be07857756ae9b1fb918995b90ee869f8f8b8f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp312-cp312-win32.whl
| Download URL | pygridgain-1.7.0-cp312-cp312-win32.whl |
|---|---|
| Size | 157.1 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
05db1c578419a9544142285a4122f8e06ba05b94b789c4fac8eef68b17e67a42
|
|
BLAKE2b-256 checksum How to use checksums |
f69e0bbfd225ba30459dfc6fd2184fc761f4cbd88b723d7e6532f4b41a5dcf47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pygridgain-1.7.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 173.6 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
71d390acd8001e45c705606453dbf50c35168762927f1d007dc63d496910f1e2
|
|
BLAKE2b-256 checksum How to use checksums |
fc7d64e84c29576d248397a52489cffdcccbc9b6b874425fc398e64069f14934
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
| Download URL | pygridgain-1.7.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl |
|---|---|
| Size | 173.2 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
f580ddb5852d18421d26f502636bdab0b1c37cc368f9d31e24a11b3032f2a276
|
|
BLAKE2b-256 checksum How to use checksums |
307ded9be58dfdfc5ab5c051c797827e25481ff20c6ea93f323c860791ec861b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp311-cp311-win_amd64.whl
| Download URL | pygridgain-1.7.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 157.4 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
49bb2df5ac8865377bf90beacce5a78d790b94b889d2a59a2428e7cb1647a7ff
|
|
BLAKE2b-256 checksum How to use checksums |
5b6b3d72ce8c35d2da1c0207abf6ff66d25099590739c15ef8926b85001ace2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp311-cp311-win32.whl
| Download URL | pygridgain-1.7.0-cp311-cp311-win32.whl |
|---|---|
| Size | 157.1 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
b4ac82e55fa28d754aad855f15652fb16b29a3bcc407e50df62bdd4a480d0990
|
|
BLAKE2b-256 checksum How to use checksums |
1dce6335d0a8fe0b5e7a8d1bf0f8179a0c275fb12346f665c65468d8dc39ce9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pygridgain-1.7.0-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 173.6 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
35a7d2d46f90ae4811138a34ea3586a1ed4b15f41e3aefcce177dfe30887005d
|
|
BLAKE2b-256 checksum How to use checksums |
be0252f1581fb91a9809f96a93795b25d445286e774fead95355231de83ce8a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / pygridgain-1.7.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
| Download URL | pygridgain-1.7.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl |
|---|---|
| Size | 173.1 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
bb2312a71bf5eb69c55ba7485dbd183e09c74229d9e763767a5f760f7d5f12f2
|
|
BLAKE2b-256 checksum How to use checksums |
02837ba88d9ba2fb59b13bf6c3c3e4241ef8718d185e1eaf0b2e3f4c8712f060
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Security for pygridgain 1.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.