GRPC python binding for the ArmoniK orchestrator API
Project description
ArmoniK.Api Python package
This folder contains the necessary scripts to generate the ArmoniK.Api Python package. Please note that while the package generation is platform dependent, the generated package should be compatible with Linux and Windows.
Install the Python Package from PyPI
At each release, we provide a prepackaged version of ArmoniK.Api available on PyPI here : https://pypi.org/project/armonik. To install the package to your current Python environment, you can use pip :
pip install armonik
Linux / WSL
How to generate
Requirements :
- Python >= 3.7
- Python3-venv
- Pip3
- Bash
If the python command doesn't link to python3 on your system, you may be able to install the package python-is-python3, which links python to python3.
To generate the package from sources, run the proto2python.sh script from its folder. You need to specify a directory where the virtual environment used for the build will be located. For example the following command will generate the packages and will create the build environment "pyvenv" in the current user's home directory:
./proto2python.sh ~/pyvenv
3 folders will be created :
- generated : contains the source files used to create the package
- build : contains the source files used to create the wheel package
- pkg : contains the sdist and wheel packages
Instead of running the script you can install the armonik package in "editable" mode, allowing you to make changes to the source code, and the changes will be reflected immediately without reinstalling the package.
pip install -e ./packages/python
How to install the generated package
From this directory, use the following command:
pip install pkg/armonik*.whl
The generated package will be installed to your current python environment
Windows
Coming soon
Tests
Test Environment Setup
Before running tests, ensure the following setup steps are completed:
- Install Dependencies:
sudo apt install dotnet-sdk-6.0 jq
- Launch the Mock Server:
Verify that port 5000 is available (Armonik and the mock server communicate on the same port, uninstall armonik if necessary):
lsof -i :5000
- Launch the server from the project's root directory in a separate terminal:
cd packages/csharp/ArmoniK.Api.Mock
dotnet run
Test Environment Summary
The test environment utilizes a mock endpoint to assert if the ArmoniK service has been triggered. It leverages the requests library to query the /calls.json endpoint, examining the JSON response to validate the count of remote procedure calls made to specific services and methods
curl localhost:5000/calls.json | jq
WARNING
Note for Users
Starting from gRPC version 1.57 and onward, it is necessary to explicitly specify the default authority when creating the gRPC channel. more details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file armonik-3.15.2.dev1600.tar.gz
.
File metadata
- Download URL: armonik-3.15.2.dev1600.tar.gz
- Upload date:
- Size: 77.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37cffbe96c83365393be8690b3d96d64c4bedb697523c67f8a1d25b9a92d3584 |
|
MD5 | 17a8b37bea375a3f52566e78ee448921 |
|
BLAKE2b-256 | e9d768f2310d1855c9925b404c65cbd39791db8fcfda2ab9287be0ff2a89b878 |
File details
Details for the file armonik-3.15.2.dev1600-py3-none-any.whl
.
File metadata
- Download URL: armonik-3.15.2.dev1600-py3-none-any.whl
- Upload date:
- Size: 138.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66473eea576b92a3d30b3407e51a7027691c37a0c262503a0f808d28d725b97d |
|
MD5 | a1846615f0b4ca341df17ed63dd32332 |
|
BLAKE2b-256 | 9367cc7e4a8a6e8916f8a92b1543743c96f0792c8ee551d696ae7a49e47fe0cb |