This project adds new capabilities to dbt-core by dynamically modifying 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.
opendbt
unlocks many customization which are not in dbt-core, allowing end user to tailor dbt to his/her specific
needs and data workflows.
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.
- Customize Existing Adapters: Leverage OOP to create custom adapters that extends existing ones. With this user could provide more python features to jinja
- Execute Local Python Code: Use dbt Python models to run local Python code. For example, you could import data from web APIs directly within your dbt model.
- 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.
- Customized dbt Docs: Replace the default dbt documentation page with your own custom index.html file.
- Run end to end ETL pipeline with dbt using dlt extract and load integration
- Register dbt callbacks within a dbt project to trigger custom actions or alerts based on selected dbt events.
- Use multi project dbt-mesh setup,
using cross-project references.
ex:
{{ ref('jaffle_finance', 'monthly_revenue') }}
- This feature was only available in "dbt Cloud Enterprise" so far.
For detailed examples, see: examples.
install version from github:
pip install https://github.com/memiiso/opendbt/archive/refs/tags/0.4.0.zip --upgrade --user
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.