Metadata-Version: 2.1
Name: dbt-postgres-python
Version: 1.5.9
Summary: Run python scripts from any dbt project. This project is based on the project https://github.com/fal-ai/fal initially authored by FAL.AI.
Home-page: https://github.com/kudryk/dbt-postgres-python
Keywords: dbt,pandas,fal,runtime
Author: Features & Labels
Author-email: hello@fal.ai
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: athena
Provides-Extra: bigquery
Provides-Extra: duckdb
Provides-Extra: postgres
Provides-Extra: redshift
Provides-Extra: snowflake
Provides-Extra: teleport
Provides-Extra: trino
Requires-Dist: PyYAML (>=6.0,<7.0)
Requires-Dist: agate-sql (>=0.5.8,<0.6.0)
Requires-Dist: astor (>=0.8.1,<0.9.0)
Requires-Dist: awswrangler[redshift] (>=3.0.0) ; (python_version >= "3.8") and (extra == "redshift")
Requires-Dist: backports.functools_lru_cache (>=1.6.4,<2.0.0)
Requires-Dist: dbt-core (>=1.5,<=1.5.9)
Requires-Dist: deprecation (>=2.1.0,<3.0.0)
Requires-Dist: dill (==0.3.7)
Requires-Dist: duckdb-engine (>=0.1.8,<0.2.0) ; extra == "duckdb"
Requires-Dist: fal (>=0.10.0,<0.11.0)
Requires-Dist: google-cloud-bigquery[pandas] (>=3.5.0,<3.6.0) ; extra == "bigquery"
Requires-Dist: importlib-metadata (>=6.0.0,<7.0.0)
Requires-Dist: packaging (>=23)
Requires-Dist: pandas (>=1.3.4,<2.0.0)
Requires-Dist: platformdirs (>=2.5.2,<3.0.0)
Requires-Dist: posthog (>=1.4.5,<2.0.0)
Requires-Dist: s3fs (>=2022.8.2) ; extra == "teleport"
Requires-Dist: snowflake-connector-python[pandas] (>=3.0,<4.0) ; extra == "snowflake"
Requires-Dist: sqlalchemy (>=1.4.41,<2.0.0)
Requires-Dist: sqlalchemy-redshift (>=0.8.9,<0.9.0) ; extra == "redshift"
Requires-Dist: trino[sqlalchemy] (>=0.321.0,<0.322.0) ; extra == "trino"
Requires-Dist: virtualenv (>=20.16.2,<21.0.0)
Project-URL: Repository, https://github.com/kudryk/dbt-postgres-python
Description-Content-Type: text/markdown

# Welcome to dbt-postgres-python 👋 do more with dbt

dbt-postgres-python adapter is the ✨easiest✨ way to run your [dbt Python models](https://docs.getdbt.com/docs/building-a-dbt-project/building-models/python-models).

Starting with dbt v1.3, you can now build your dbt models in Python. This leads to some cool use cases that was once difficult to build with SQL alone. Some examples are:

- Using Python stats libraries to calculate stats
- Building forecasts
- Building other predictive models such as classification and clustering

This is fantastic! BUT, there is still one issue though! There is no Python support for Postgres.

dbt-postgres-python provides the best environment to run your Python models that works with Postgres! With dbt-postgres-python, you can:

- Build and test your models locally
- Isolate each model to run in its own environment with its own dependencies

**NB**: This project is based off the archived [dbt-fal](https://github.com/fal-ai/dbt-fal) project, which initially supported other platforms. This project
will only support the postgres adaptor. Support for the FAL CLI is dropped as well.

## Getting Started

### 1. Install dbt-postgres-python
`pip install dbt-postgres-python`

### 2. Update your `profiles.yml` and add the fal adapter

```yaml
jaffle_shop:
  target: dev_with_fal
  outputs:
    dev_with_fal:
      type: fal  # "fal" type is kept for backwards compatibility
      db_profile: dev_postgres # This points to your main adapter
    dev_postgres:
      type: postgres
      ...
```

Don't forget to point to your main adapter with the `db_profile` attribute. This is how the fal adapter knows how to connect to your data warehouse.

### 3. `dbt run`!
That is it! It is really that simple 😊

