Skip to main content

Kubernetes Service Binding Library for Python Applications

Project description

pyservicebinding

PyPI - Downloads Release Supported Python Versions CI

Kubernetes Service Binding Library for Python Applications

This is a Python module to retrieve bindings from a file-system created through an implementation of Service Binding Specification for Kubernetes.

You can install this package using pip:

pip install pyservicebinding

The ServiceBinding object can be instantiated like this:

from pyservicebinding import binding
try:
    sb = binding.ServiceBinding()
except binding.ServiceBindingRootMissingError as msg:
    # log the error message and retry/exit
    print("SERVICE_BINDING_ROOT env var not set")

To get bindings for a specific type, say postgres:

bindings_list = sb.bindings("postgres")

To get bindings for a specific type, say mysql, and provider, say mariadb:

bindings_list = sb.bindings("mysql", "mariadb")

To get all bindings irrespective of the type and provider:

bindings_list = sb.all_bindings()

This is the complete API of the module:

class ServiceBindingRootMissingError(Exception):
    pass


class ServiceBinding:

    def __init__(self):
        """
        - raise ServiceBindingRootMissingError if SERVICE_BINDING_ROOT env var not set
        """

    def all_bindings(self) -> list[dict[str, str]]:
        """Get all bindings as a list of dictionaries

        - return empty list if no bindings found
        """

    def bindings(self, _type: str, provider: typing.Optional[str] = None) -> list[dict[str, str]]:
        """Get filtered bindings as a list of dictionaries

        - return empty dictionary if no binding found
        - filter the result with the given _type input
        - if provider input is given, filter bindings using the given type and provider
        """

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

pyservicebinding-0.2.2.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyservicebinding-0.2.2-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file pyservicebinding-0.2.2.tar.gz.

File metadata

  • Download URL: pyservicebinding-0.2.2.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6

File hashes

Hashes for pyservicebinding-0.2.2.tar.gz
Algorithm Hash digest
SHA256 1da0e62623de271d7eeadf4c011e6287f45f583a9d753200bd8561bd379c2263
MD5 3f828bf5da4fd211f9c5d6619a5de413
BLAKE2b-256 4a3cabae64a8acbcf7d00c9b68adef7ffce921cf86de701bb51ee3976f48f7de

See more details on using hashes here.

File details

Details for the file pyservicebinding-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pyservicebinding-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6

File hashes

Hashes for pyservicebinding-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 72e3d6aae3480f37b2347de6c2a7a269ae3f647d6d2e8236332663d8111bbf2e
MD5 ededb234f9a6dae2382806122eb1b443
BLAKE2b-256 708ead861d6248ee5eb7e776d7c9c7f338c51add4031d821211fe0dc6bc59481

See more details on using hashes here.

Supported by

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