Skip to main content

Library for communication with microservices developed by phonexia using grpc application interface.

Project description

Phonexia microservice communication via grpc library

This library contains defined interfaces for all microservices developed by Phonexia.

To use this library you will first need a running instance of any Phonexia microservice. If you don't yet have any running instance, don't hesitate to contact our sales department.

On this page, you may find a gRPC API reference for all microservices.

Example

Examples require microservice running on local machine at port 8080.

Health check

You can invoke health check method of any microservice like this:

import grpc

from phonexia.grpc.common.health_check_pb2 import HealthCheckRequest
from phonexia.grpc.common.health_check_pb2_grpc import HealthStub


def health_check(stub: HealthStub):
    """Create request and call the service.
    Invoke Info method of the health stub.
    Args:
        stub (LicensingStub): Created stub for communication with service.
    """
    request = HealthCheckRequest()
    response = stub.Check(request)
    print(response)


def main():
    """Create a gRPC channel and connect to the service."""
    with grpc.insecure_channel(target="localhost:8080") as channel:
        """Create channel to the service.
        The target parameter is the service address and port.
        insecure channel is used for connection without TLS.
        To use SSl/TLS see the grpc_secure_channel function.
        """
        stub = HealthStub(channel)
        health_check(stub)


if __name__ == "__main__":
    main()

If the microservice is running, it should return: status: SERVING.

Check license

Each microservice has licensed model which is required to run the service. You can fetch information about licensed models like this:

import grpc

from phonexia.grpc.common.licensing_pb2 import LicensingInfoRequest
from phonexia.grpc.common.licensing_pb2_grpc import LicensingStub


def licensing_check(stub: LicensingStub):
    """Create request and call the service.
    Invoke Info method of the Licensing stub.
    Args:
        stub (LicensingStub): Created stub for communication with service.
    """
    request = LicensingInfoRequest()
    response = stub.Info(request)
    print(
        f"The license for technology '{response.technology_name}' with model"
        f" '{response.model_info.name}:{response.model_info.version}'"
        f" {'is' if response.is_valid else 'was'} valid until {response.valid_until}."
    )


def main():
    """Create a gRPC channel and connect to the service."""
    with grpc.insecure_channel(target="localhost:8080") as channel:
        """Create channel to the service.
        The target parameter is the service address and port.
        insecure channel is used for connection without TLS.
        To use SSl/TLS see the grpc_secure_channel function.
        """
        stub = LicensingStub(channel=channel)
        licensing_check(stub)


if __name__ == "__main__":
    main()

Returned message should contain information about technology name, model name with version and time validity of license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phonexia_grpc-1.4.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

phonexia_grpc-1.4.0-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

Details for the file phonexia_grpc-1.4.0.tar.gz.

File metadata

  • Download URL: phonexia_grpc-1.4.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.2 Linux/5.14.0-362.8.1.el9_3.x86_64

File hashes

Hashes for phonexia_grpc-1.4.0.tar.gz
Algorithm Hash digest
SHA256 c755120a1fbe7ac1a34f6e92f579b8035640e85c181a2ba34300d3d677dc4a78
MD5 6e2fb9f6f1370b8f479d9f5a30a41ea6
BLAKE2b-256 21332c8f5673466c5ad3b291f3633a455c7d5e1a9d0e6c77a02d8071827998c1

See more details on using hashes here.

File details

Details for the file phonexia_grpc-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: phonexia_grpc-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 30.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.2 Linux/5.14.0-362.8.1.el9_3.x86_64

File hashes

Hashes for phonexia_grpc-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec337726400347d97c2580011004b3a5b6b6ce740ed586efefe945ac3cb49b65
MD5 f1f92cb0ae3bbc0e9b9c7806c833fd37
BLAKE2b-256 e8ccff835118adcdc56aba6c0f1fdfe2d12b2c4cf2ee00738e8da7d008c9c910

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