Skip to main content

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:

  1. Install Dependencies:
sudo apt install dotnet-sdk-6.0 jq
  1. 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
  1. 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

armonik-3.15.2.dev1600.tar.gz (77.7 kB view details)

Uploaded Source

Built Distribution

armonik-3.15.2.dev1600-py3-none-any.whl (138.8 kB view details)

Uploaded Python 3

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

Hashes for armonik-3.15.2.dev1600.tar.gz
Algorithm Hash digest
SHA256 37cffbe96c83365393be8690b3d96d64c4bedb697523c67f8a1d25b9a92d3584
MD5 17a8b37bea375a3f52566e78ee448921
BLAKE2b-256 e9d768f2310d1855c9925b404c65cbd39791db8fcfda2ab9287be0ff2a89b878

See more details on using hashes here.

File details

Details for the file armonik-3.15.2.dev1600-py3-none-any.whl.

File metadata

File hashes

Hashes for armonik-3.15.2.dev1600-py3-none-any.whl
Algorithm Hash digest
SHA256 66473eea576b92a3d30b3407e51a7027691c37a0c262503a0f808d28d725b97d
MD5 a1846615f0b4ca341df17ed63dd32332
BLAKE2b-256 9367cc7e4a8a6e8916f8a92b1543743c96f0792c8ee551d696ae7a49e47fe0cb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page