Skip to main content



The OpenLineage Java is a SDK for Java programming language that users can use to generate and emit OpenLineage events to OpenLineage backends. The core data structures currently offered by the client are the RunEvent, RunState, Run, Job, Dataset, and Transport classes, along with various Facets that can come under run, job, and dataset.

There are various transport classes that the library provides that carry the lineage events into various target endpoints (e.g. HTTP).

You can also use the Java client to create your own custom integrations.


Java client is provided as library that can either be imported into your Java project using Maven or Gradle.



or Gradle:


For more information on the available versions of the openlineage-java, please refer to the maven repository.