Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
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 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
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
You may also want to consult the setuptools
manual about using setup.py
.
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.
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.6.1
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
Then open 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 log4j2
enabled and to set
IGNITE_HOME
environment variable:
$ cd <ignite_binary_release>
$ export IGNITE_HOME=$(pwd)
$ cp -r $IGNITE_HOME/libs/optional/ignite-log4j2 $IGNITE_HOME/libs/
$ pytest
$ pytest --examples
If you need to change the connection parameters, see the documentation on testing.
FAQs
Apache Ignite binary client Python API
We found that pyignite demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.