Skip to main content

OpenLineage Python Client

Project description

OpenLineage-python

To install from source, run:

$ python setup.py install

Configuration

Config file

The most common way to configure the OpenLineage Client is by .yaml file, which contains all the details of how to connect to your OpenLineage backend.

The config file is located by:

  1. looking at the OPENLINEAGE_CONFIG environment variable
  2. looking for the openlineage.yml file in the current working directory
  3. looking for the openlineage.yml file in the $HOME/.openlineage directory.

Different ways of connecting to OpenLineage backend are supported by the standarized Transport interface.
This is an example config for specifying http transport:

transport:
  type: "http"
  url: "https://backend:5000"
  auth:
    type: "api_key"
    api_key: "f048521b-dfe8-47cd-9c65-0cb07d57591e"

The type property is required. It can be one of the built-in transports or a custom one. There are three built-in transports, http, kafka and console. Custom transports type is a fully qualified class name that can be imported.

The rest of the properties are defined by the particular transport.
Specifications for the built-in options are below.

HTTP

  • url - required string parameter.
  • endpoint - optional string parameter specifying the endpoint to which events are sent. By default api/v1/lineage.
  • timeout - optional float parameter specifying the timeout when sending events. By default 5 seconds.
  • verify optional boolean attribute specifying if the client should verify TLS certificates of the backend. By default true.
  • auth - optional dictionary specifying authentication options. The type property is required.
    • type: required property if an auth dictionary is set. Set to api_key or to the fully qualified class name of your TokenProvider.
    • api_key: if api_key type is set, it sets value at Authentication HTTP header as Bearer.

Kafka

  • config - required string parameter. A dictionary that contains a Kafka producer config as in Kafka producer config.
  • topic - required string parameter. The topic on what events will be sent.
  • flush - optional boolean parameter. If set to True, Kafka will flush after each event. By default true.

Custom transport

To implement a custom transport, follow the instructions in the openlineage/client/transport/transport.py file.

Config as env vars

If there is no config file found, the OpenLineage client looks at environment variables.
This way of configuring the client supports only http transport, and only a subset of its config.

  • OPENLINEAGE_URL - point to the service that will consume OpenLineage events.
  • OPENLINEAGE_API_KEY - set if the consumer of OpenLineage events requires a Bearer authentication key.

OPENLINEAGE_URL and OPENLINEAGE_API_KEY can also be set up manually when creating a client instance.


SPDX-License-Identifier: Apache-2.0
Copyright 2018-2022 contributors to the OpenLineage project

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

openlineage-python-0.17.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

openlineage_python-0.17.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file openlineage-python-0.17.0.tar.gz.

File metadata

  • Download URL: openlineage-python-0.17.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.15

File hashes

Hashes for openlineage-python-0.17.0.tar.gz
Algorithm Hash digest
SHA256 73d62475609419aaf46b67f13f1f6bba69ad566709a554061ce92e6b7a9dc39e
MD5 96a4a05c61ff825163b051fa52ffab6a
BLAKE2b-256 2d4a749372e935f551a0f9b338d163ddb4ef8d39ce2f7f45a346b8a063939c93

See more details on using hashes here.

File details

Details for the file openlineage_python-0.17.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openlineage_python-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eadbf4de97d042a855e2a8ad93f82a2c32262ae47a0548263e55b66fb629d57a
MD5 260a3671ff25c340551085bd770ce71e
BLAKE2b-256 b188da65ca19a74805d502a6e62e2e8bf52c1163eed0a34ecd38e90dc28ef7b4

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