# Using programmatic invocation AND OpenLineage together

**URL:** https://discourse.getdbt.com/t/using-programmatic-invocation-and-openlineage-together/14728
**Category:** Help
**Created:** [August 7, 2024, 8:06am UTC](https://discourse.getdbt.com/t/using-programmatic-invocation-and-openlineage-together/14728 "2024-08-07T08:06:47Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![wulf1212](https://avatars.discourse-cdn.com/v4/letter/w/a8b319/32.png) [@wulf1212](https://discourse.getdbt.com/u/wulf1212)
#### Post date: [August 7, 2024, 8:06am UTC](https://discourse.getdbt.com/t/using-programmatic-invocation-and-openlineage-together/14728/1 "2024-08-07T08:06:47Z")

</div>

## The problem I’m having

I was hoping to find someone who uses programmatic invocation AND Openlineage and managed to get them to play nice together ? [https://docs.getdbt.com/reference/programmatic-invocations](https://docs.getdbt.com/reference/programmatic-invocations)  
[dbt | OpenLineage](https://openlineage.io/docs/integrations/dbt/)

## The context of why I’m trying to do this

I am trying to get an end to end data lineage data from multiple systems in one place by using OpenLineage integrations

## What I’ve already tried

I know can get the data I need by using the cli and switching dbt command to dbt-ol, but using the  
dbtRunner, how can I achieve the same effect ?

## Some example code or error messages

```auto
dbt = dbtRunner(manifest=manifest)
    logger.info("Invoking dbt with python: dbt %s", " ".join(args_list))
    res: dbtRunnerResult = dbt.invoke(args_list)

```

with Runner `Running with dbt=1.7.14`  
with dbt-ol `Running OpenLineage dbt wrapper version 1.19.0`
