Skip to content

Make dbt great again! Enables end user to extend dbt to his/her needs

License

Notifications You must be signed in to change notification settings

memiiso/opendbt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo-badge License contributions welcome

opendbt

This project adds new capabilities to dbt-core by dynamically extending dbt's source code. dbt is a popular solution for batch data processing in data analytics. While it operates on an open-core model, which can sometimes limit the inclusion of community features in the open-source version. no worries opendbt is here to solve it. opendbt offers a fully open-source package to address these concerns. OpenDBT builds upon dbt-core, adding valuable features without changing dbt-core code.

With opendbt you can go beyond the core functionalities of dbt. For example seamlessly integrating your customized adapter and providing jinja context with further adapter/python methods.

Features

  • ✅ Includes superior dbt catalog UI, user-friendly data catalog, including row level lineage, see it here
  • ✅ Integrates Python and DLT Jobs to dbt. Enables Extract&Load (EL) with dbt.
  • ✅ Supports DBT Mesh setups. Supports running multiple projects which are using cross project ref models.
  • ✅ And many more features, customization options.
    • Customize Existing Adapters: add your custom logic to current adapters
    • By extending current adapter provide more functions to jinja
    • Execute Local Python Code: run local Python code. For example, you could import data from web APIs directly within your dbt model.
    • Integrate DLT. Run end to end ETL pipeline with dbt and DLT.
    • Use multi project dbt-mesh setup cross-project references.
      • This feature was only available in "dbt Cloud Enterprise" so far.
    • Granular Model-Level Orchestration with Airflow: Integrate Airflow for fine-grained control over model execution.
    • Serve dbt Docs in Airflow UI: Create a custom page on the Airflow server that displays dbt documentation as an Airflow UI page.
    • Register dbt callbacks within a dbt project to trigger custom actions or alerting based on selected dbt events.

For detailed examples, see: examples.

opendbt-airflow-ui.png

Installation

install version from github:

pip install https://github.com/memiiso/opendbt/archive/refs/tags/0.4.0.zip --upgrade --user

Your Contributions Matter

The project completely open-source, using the Apache 2.0 license. opendbt still is a young project and there are things to improve. Please feel free to test it, give feedback, open feature requests or send pull requests.

Contributors