![logo-badge](https://github.com/mac-s-g/github-help-wanted/blob/master/src/images/logo-full.png?raw=true)
[![License](http://img.shields.io/:license-apache%202.0-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)
# opendbt
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](https://opencoreventures.com/blog/2023-07-open-core-is-misunderstood-business-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.
# Features
- 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](https://dlthub.com/) [integration](https://github.com/memiiso/opendbt/issues/40)
- Register dbt callbacks within a dbt project to trigger custom actions or alerts based on selected dbt events.
For detailed examples, see: [examples](docs/EXAMPLES.md).
![opendbt-airflow-ui.png](docs/assets/opendbt-airflow-ui.png)
## Installation
install version from github:
```shell
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
<a href="https://github.com/memiiso/opendbt/graphs/contributors">
<img src="https://contributors-img.web.app/image?repo=memiiso/opendbt" />
</a>
Raw data
{
"_id": null,
"home_page": null,
"name": "opendbt",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "dbt-core, dbt",
"author": "Memiiso Organization",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d6/41/ca07256c4cb9303a2a503ede6a91f1d158a5d11d14d3a144e04872fe7629/opendbt-0.11.0.tar.gz",
"platform": null,
"description": "![logo-badge](https://github.com/mac-s-g/github-help-wanted/blob/master/src/images/logo-full.png?raw=true)\n[![License](http://img.shields.io/:license-apache%202.0-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)\n\n# opendbt\n\nThis project adds new capabilities to dbt-core by dynamically modifying dbt's source code.\ndbt is a popular solution for batch data processing in data analytics. While it operates on\nan [open-core model](https://opencoreventures.com/blog/2023-07-open-core-is-misunderstood-business-model/), which can\nsometimes limit the inclusion of community features in the open-source version. no worries opendbt is here to solve it.\nopendbt offers a fully open-source package to address these concerns. **OpenDBT builds upon dbt-core, adding valuable\nfeatures without changing dbt-core code.**\n\n`opendbt` unlocks many customization which are not in dbt-core, allowing end user to tailor dbt to his/her specific\nneeds and data workflows.\n\nWith `opendbt` you can go beyond the core functionalities of dbt. For example seamlessly integrating your customized\nadapter and providing jinja context with further adapter/python methods.\n\n# Features\n\n- Customize Existing Adapters: Leverage OOP to create custom adapters that extends existing ones. With this user\n could provide more python features to jinja\n- Execute Local Python Code: Use dbt Python models to run local Python code. For example, you could import data from web\n APIs directly within your dbt model.\n- Granular Model-Level Orchestration with Airflow: Integrate Airflow for fine-grained control over model execution.\n- Serve dbt Docs in Airflow UI: Create a custom page on the Airflow server that displays dbt documentation as an Airflow\n UI page.\n- Customized dbt Docs: Replace the default dbt documentation page with your own custom index.html file.\n- Run end to end ETL pipeline with dbt\n using [dlt](https://dlthub.com/) [integration](https://github.com/memiiso/opendbt/issues/40)\n- Register dbt callbacks within a dbt project to trigger custom actions or alerts based on selected dbt events.\n\nFor detailed examples, see: [examples](docs/EXAMPLES.md).\n\n![opendbt-airflow-ui.png](docs/assets/opendbt-airflow-ui.png)\n\n## Installation\n\ninstall version from github:\n\n```shell\npip install https://github.com/memiiso/opendbt/archive/refs/tags/0.4.0.zip --upgrade --user\n```\n\n## **Your Contributions Matter**\n\nThe project completely open-source, using the Apache 2.0 license.\nopendbt still is a young project and there are things to improve.\nPlease feel free to test it, give feedback, open feature requests or send pull requests.\n\n### Contributors\n\n<a href=\"https://github.com/memiiso/opendbt/graphs/contributors\">\n <img src=\"https://contributors-img.web.app/image?repo=memiiso/opendbt\" />\n</a>\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "opendbt dbt-core with additional features",
"version": "0.11.0",
"project_urls": {
"Documentation": "https://github.com/memiiso/opendbt",
"Homepage": "https://github.com/memiiso/opendbt",
"Repository": "https://github.com/memiiso/opendbt"
},
"split_keywords": [
"dbt-core",
" dbt"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "209be54b47f05553b82a1f1a67f81dade66e6fe5b5d369f11aab4e890adf7511",
"md5": "180813a22ca74156cfda9546325116c4",
"sha256": "16ad3af4cd4814b5d09c62bd5815ca784f29a1873a2a9b46db0d0721caaad05f"
},
"downloads": -1,
"filename": "opendbt-0.11.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "180813a22ca74156cfda9546325116c4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 473086,
"upload_time": "2024-12-13T14:53:07",
"upload_time_iso_8601": "2024-12-13T14:53:07.815553Z",
"url": "https://files.pythonhosted.org/packages/20/9b/e54b47f05553b82a1f1a67f81dade66e6fe5b5d369f11aab4e890adf7511/opendbt-0.11.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d641ca07256c4cb9303a2a503ede6a91f1d158a5d11d14d3a144e04872fe7629",
"md5": "5c42ad76944d338e86c5f67040606734",
"sha256": "799e0fad4596c79c8e52b21b17bd5b7bfbeb6149b0fa7cdae9577bba3cbfeb2b"
},
"downloads": -1,
"filename": "opendbt-0.11.0.tar.gz",
"has_sig": false,
"md5_digest": "5c42ad76944d338e86c5f67040606734",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1992908,
"upload_time": "2024-12-13T14:53:10",
"upload_time_iso_8601": "2024-12-13T14:53:10.112352Z",
"url": "https://files.pythonhosted.org/packages/d6/41/ca07256c4cb9303a2a503ede6a91f1d158a5d11d14d3a144e04872fe7629/opendbt-0.11.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-13 14:53:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "memiiso",
"github_project": "opendbt",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "opendbt"
}