Python models
dbt Core v1.3 included first-ever support for Python models. Note that only specific data platforms support dbt-py models.
We encourage you to:
- Read the original discussion that proposed this feature.
- Contribute to best practices for developing Python models in dbt.
- Weigh in on next steps for Python models, beyond v1.3.
- Join the #dbt-core-python-models channel in the dbt Community Slack.
Below, you'll see sections entitled "❓ Our questions." We are excited to have released a first narrow set of functionality in v1.3, which will solve real use cases. We also know this is a first step into a much wider field of possibility. We don't pretend to have all the answers. We're excited to keep developing our opinionated recommendations and next steps for product development—and we want your help. Comment in the GitHub discussions; leave thoughts in Slack; bring up dbt + Python in casual conversation with colleagues and friends.
About Python models in dbt
dbt Python ("dbt-py") models will help you solve use cases that can't be solved with SQL. You can perform analyses using tools available in the open source Python ecosystem, including state-of-the-art packages for data science and statistics. Before, you would have needed separate infrastructure and orchestration to run Python transformations in production. By defining your Python transformations in dbt, they're just models in your project, with all the same capabilities around testing, documentation, and lineage.