prefect-dbt


Nameprefect-dbt JSON
Version 0.4.2 PyPI version JSON
download
home_pageNone
SummaryPrefect integrations for working with dbt
upload_time2024-04-25 19:21:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseApache License 2.0
keywords prefect
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # prefect-dbt

<p align="center">
    <a href="https://pypi.python.org/pypi/prefect-dbt/" alt="PyPI version">
        <img alt="PyPI" src="https://img.shields.io/pypi/v/prefect-dbt?color=26272B&labelColor=090422"></a>0
    <a href="https://pepy.tech/badge/prefect-dbt/" alt="Downloads">
        <img src="https://img.shields.io/pypi/dm/prefect-dbt?color=26272B&labelColor=090422" /></a>
</p>

With prefect-dbt, you can easily trigger and monitor dbt Cloud jobs, execute dbt Core CLI commands, and incorporate other services, like Snowflake, into your dbt runs!

Check out the examples below to get started!

## Getting Started

Be sure to install [prefect-dbt](#installation) and [save a block](#saving-credentials-to-block) to run the examples below!

### Integrate dbt Cloud jobs with Prefect flows

If you have an existing dbt Cloud job, take advantage of the flow, `run_dbt_cloud_job`.

This flow triggers the job and waits until the job run is finished.

If certain nodes fail, `run_dbt_cloud_job` efficiently retries the specific, unsuccessful nodes.

```python
from prefect import flow

from prefect_dbt.cloud import DbtCloudJob
from prefect_dbt.cloud.jobs import run_dbt_cloud_job

@flow
def run_dbt_job_flow():
    result = run_dbt_cloud_job(
        dbt_cloud_job=DbtCloudJob.load("my-block-name"),
        targeted_retries=5,
    )
    return result

run_dbt_job_flow()
```

### Integrate dbt Core CLI commands with Prefect flows

`prefect-dbt` also supports execution of dbt Core CLI commands.

To get started, if you don't have a `DbtCoreOperation` block already saved,
set the commands that you want to run; it can include a mix of dbt and non-dbt commands.

Then, optionally specify the `project_dir`.

If `profiles_dir` is unset, it will try to use the `DBT_PROFILES_DIR` environment variable.
If that's also not set, it will use the default directory `$HOME/.dbt/`.

#### Using an existing profile

If you already have an existing dbt profile, specify the `profiles_dir` where `profiles.yml` is located.

```python
from prefect import flow
from prefect_dbt.cli.commands import DbtCoreOperation

@flow
def trigger_dbt_flow() -> str:
    result = DbtCoreOperation(
        commands=["pwd", "dbt debug", "dbt run"],
        project_dir="PROJECT-DIRECTORY-PLACEHOLDER",
        profiles_dir="PROFILES-DIRECTORY-PLACEHOLDER"
    ).run()
    return result

trigger_dbt_flow()
```

#### Writing a new profile

To setup a new profile, first [save and load a DbtCliProfile block](#saving-credentials-to-block) and use it in `DbtCoreOperation`.

Then, specify `profiles_dir` where `profiles.yml` will be written.

```python
from prefect import flow
from prefect_dbt.cli import DbtCliProfile, DbtCoreOperation

@flow
def trigger_dbt_flow():
    dbt_cli_profile = DbtCliProfile.load("DBT-CORE-OPERATION-BLOCK-NAME-PLACEHOLDER")
    with DbtCoreOperation(
        commands=["dbt debug", "dbt run"],
        project_dir="PROJECT-DIRECTORY-PLACEHOLDER",
        profiles_dir="PROFILES-DIRECTORY-PLACEHOLDER",
        dbt_cli_profile=dbt_cli_profile,
    ) as dbt_operation:
        dbt_process = dbt_operation.trigger()
        # do other things before waiting for completion
        dbt_process.wait_for_completion()
        result = dbt_process.fetch_result()
    return result

trigger_dbt_flow()
```

## Resources

If you need help getting started with or using dbt, please consult the [dbt documentation](https://docs.getdbt.com/docs/building-a-dbt-project/documentation).

### Installation

To use `prefect-dbt` with dbt Cloud:

```bash
pip install prefect-dbt
```

To use dbt Core (CLI):

```bash
pip install "prefect-dbt[cli]"
```

To use dbt Core with Snowflake profiles:

```bash
pip install "prefect-dbt[snowflake]"
```

To use dbt Core with BigQuery profiles:

```bash
pip install "prefect-dbt[bigquery]"
```

To use dbt Core with Postgres profiles:

```bash
pip install "prefect-dbt[postgres]"
```

!!! warning "Some dbt Core profiles require additional installation"

    According to dbt's [Databricks setup page](https://docs.getdbt.com/reference/warehouse-setups/databricks-setup), users must first install the adapter:

    ```bash
    pip install dbt-databricks
    ```

    Check out the [desired profile setup page](https://docs.getdbt.com/reference/profiles.yml) on the sidebar for others.

Requires an installation of Python 3.8+.

We recommend using a Python virtual environment manager such as pipenv, conda or virtualenv.

These tasks are designed to work with Prefect 2. For more information about how to use Prefect, please refer to the [Prefect documentation](https://docs.prefect.io/).

### Saving credentials to block

Note, to use the `load` method on Blocks, you must already have a block document [saved through code](https://docs.prefect.io/concepts/blocks/#saving-blocks) or [saved through the UI](https://docs.prefect.io/ui/blocks/).

!!! info "Registering blocks"

    Register blocks in this module to
    [view and edit them](https://docs.prefect.io/ui/blocks/)
    on Prefect Cloud:

    ```bash
    prefect block register -m prefect_dbt
    ```

#### dbt Cloud

To create a dbt Cloud credentials block:

1. Head over to your [dbt Cloud profile](https://cloud.getdbt.com/settings/profile).
2. Login to your dbt Cloud account.
3. Scroll down to "API" or click "API Access" on the sidebar.
4. Copy the API Key.
5. Click Projects on the sidebar.
6. Copy the account ID from the URL: `https://cloud.getdbt.com/settings/accounts/<ACCOUNT_ID>`.
7. Create a short script, replacing the placeholders.

```python
from prefect_dbt.cloud import DbtCloudCredentials

DbtCloudCredentials(
    api_key="API-KEY-PLACEHOLDER",
    account_id="ACCOUNT-ID-PLACEHOLDER"
).save("CREDENTIALS-BLOCK-NAME-PLACEHOLDER")
```

Then, to create a dbt Cloud job block:

1. Head over to your [dbt home page](https://cloud.getdbt.com/).
2. On the top nav bar, click on Deploy -> Jobs.
3. Select a job.
4. Copy the job ID from the URL: `https://cloud.getdbt.com/deploy/<ACCOUNT_ID>/projects/<PROJECT_ID>/jobs/<JOB_ID>`
5. Create a short script, replacing the placeholders.

```python
from prefect_dbt.cloud import DbtCloudCredentials, DbtCloudJob

dbt_cloud_credentials = DbtCloudCredentials.load("CREDENTIALS-BLOCK-NAME-PLACEHOLDER")
dbt_cloud_job = DbtCloudJob(
    dbt_cloud_credentials=dbt_cloud_credentials,
    job_id="JOB-ID-PLACEHOLDER"
).save("JOB-BLOCK-NAME-PLACEHOLDER")
```

Congrats! You can now easily load the saved block, which holds your credentials:

```python
from prefect_dbt.cloud import DbtCloudJob

DbtCloudJob.load("JOB-BLOCK-NAME-PLACEHOLDER")
```

#### dbt Core CLI

!!! info "Available `TargetConfigs` blocks"

    The following may vary slightly depending on the service you want to incorporate.

    Visit the [API Reference](cli/configs/base) to see other built-in `TargetConfigs` blocks.

    If the desired service profile is not available, check out the
    [Examples Catalog](examples_catalog/#clicredentials-module) to see how you can
    build one from the generic `TargetConfigs` class.

To create dbt Core target config and profile blocks for BigQuery:

1. Save and load a [`GcpCredentials` block](https://prefecthq.github.io/prefect-gcp/#saving-credentials-to-a-block).
2. Determine the schema / dataset you want to use in BigQuery.
3. Create a short script, replacing the placeholders.

```python
from prefect_gcp.credentials import GcpCredentials
from prefect_dbt.cli import BigQueryTargetConfigs, DbtCliProfile

credentials = GcpCredentials.load("CREDENTIALS-BLOCK-NAME-PLACEHOLDER")
target_configs = BigQueryTargetConfigs(
    schema="SCHEMA-NAME-PLACEHOLDER",  # also known as dataset
    credentials=credentials,
)
target_configs.save("TARGET-CONFIGS-BLOCK-NAME-PLACEHOLDER")

dbt_cli_profile = DbtCliProfile(
    name="PROFILE-NAME-PLACEHOLDER",
    target="TARGET-NAME-placeholder",
    target_configs=target_configs,
)
dbt_cli_profile.save("DBT-CLI-PROFILE-BLOCK-NAME-PLACEHOLDER")
```

Then, to create a dbt Core operation block:

1. Determine the dbt commands you want to run.
2. Create a short script, replacing the placeholders.

```python
from prefect_dbt.cli import DbtCliProfile, DbtCoreOperation

dbt_cli_profile = DbtCliProfile.load("DBT-CLI-PROFILE-BLOCK-NAME-PLACEHOLDER")
dbt_core_operation = DbtCoreOperation(
    commands=["DBT-CLI-COMMANDS-PLACEHOLDER"],
    dbt_cli_profile=dbt_cli_profile,
    overwrite_profiles=True,
)
dbt_core_operation.save("DBT-CORE-OPERATION-BLOCK-NAME-PLACEHOLDER")
```

Congrats! You can now easily load the saved block, which holds your credentials:

```python
from prefect_dbt.cloud import DbtCoreOperation

DbtCoreOperation.load("DBT-CORE-OPERATION-BLOCK-NAME-PLACEHOLDER")
```

### Feedback

If you encounter any bugs while using `prefect-dbt`, feel free to open an issue in the [prefect](https://github.com/PrefectHQ/prefect) repository.

If you have any questions or issues while using `prefect-dbt`, you can find help in the [Prefect Slack community](https://prefect.io/slack).

### Contributing

If you'd like to help contribute to fix an issue or add a feature to `prefect-dbt`, please [propose changes through a pull request from a fork of the repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork).

Here are the steps:

1. [Fork the repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository)
2. [Clone the forked repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#cloning-your-forked-repository)
3. Install the repository and its dependencies:
```
pip install -e ".[dev]"
```
4. Make desired changes
5. Add tests
6. Install `pre-commit` to perform quality checks prior to commit:
```
pre-commit install
```
7. `git commit`, `git push`, and create a pull request

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "prefect-dbt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "prefect",
    "author": null,
    "author_email": "\"Prefect Technologies, Inc.\" <help@prefect.io>",
    "download_url": "https://files.pythonhosted.org/packages/49/ce/912a6835011882de7a290cbce329106be27c69810d0ec036e439b10b500c/prefect_dbt-0.4.2.tar.gz",
    "platform": null,
    "description": "# prefect-dbt\n\n<p align=\"center\">\n    <a href=\"https://pypi.python.org/pypi/prefect-dbt/\" alt=\"PyPI version\">\n        <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/prefect-dbt?color=26272B&labelColor=090422\"></a>0\n    <a href=\"https://pepy.tech/badge/prefect-dbt/\" alt=\"Downloads\">\n        <img src=\"https://img.shields.io/pypi/dm/prefect-dbt?color=26272B&labelColor=090422\" /></a>\n</p>\n\nWith prefect-dbt, you can easily trigger and monitor dbt Cloud jobs, execute dbt Core CLI commands, and incorporate other services, like Snowflake, into your dbt runs!\n\nCheck out the examples below to get started!\n\n## Getting Started\n\nBe sure to install [prefect-dbt](#installation) and [save a block](#saving-credentials-to-block) to run the examples below!\n\n### Integrate dbt Cloud jobs with Prefect flows\n\nIf you have an existing dbt Cloud job, take advantage of the flow, `run_dbt_cloud_job`.\n\nThis flow triggers the job and waits until the job run is finished.\n\nIf certain nodes fail, `run_dbt_cloud_job` efficiently retries the specific, unsuccessful nodes.\n\n```python\nfrom prefect import flow\n\nfrom prefect_dbt.cloud import DbtCloudJob\nfrom prefect_dbt.cloud.jobs import run_dbt_cloud_job\n\n@flow\ndef run_dbt_job_flow():\n    result = run_dbt_cloud_job(\n        dbt_cloud_job=DbtCloudJob.load(\"my-block-name\"),\n        targeted_retries=5,\n    )\n    return result\n\nrun_dbt_job_flow()\n```\n\n### Integrate dbt Core CLI commands with Prefect flows\n\n`prefect-dbt` also supports execution of dbt Core CLI commands.\n\nTo get started, if you don't have a `DbtCoreOperation` block already saved,\nset the commands that you want to run; it can include a mix of dbt and non-dbt commands.\n\nThen, optionally specify the `project_dir`.\n\nIf `profiles_dir` is unset, it will try to use the `DBT_PROFILES_DIR` environment variable.\nIf that's also not set, it will use the default directory `$HOME/.dbt/`.\n\n#### Using an existing profile\n\nIf you already have an existing dbt profile, specify the `profiles_dir` where `profiles.yml` is located.\n\n```python\nfrom prefect import flow\nfrom prefect_dbt.cli.commands import DbtCoreOperation\n\n@flow\ndef trigger_dbt_flow() -> str:\n    result = DbtCoreOperation(\n        commands=[\"pwd\", \"dbt debug\", \"dbt run\"],\n        project_dir=\"PROJECT-DIRECTORY-PLACEHOLDER\",\n        profiles_dir=\"PROFILES-DIRECTORY-PLACEHOLDER\"\n    ).run()\n    return result\n\ntrigger_dbt_flow()\n```\n\n#### Writing a new profile\n\nTo setup a new profile, first [save and load a DbtCliProfile block](#saving-credentials-to-block) and use it in `DbtCoreOperation`.\n\nThen, specify `profiles_dir` where `profiles.yml` will be written.\n\n```python\nfrom prefect import flow\nfrom prefect_dbt.cli import DbtCliProfile, DbtCoreOperation\n\n@flow\ndef trigger_dbt_flow():\n    dbt_cli_profile = DbtCliProfile.load(\"DBT-CORE-OPERATION-BLOCK-NAME-PLACEHOLDER\")\n    with DbtCoreOperation(\n        commands=[\"dbt debug\", \"dbt run\"],\n        project_dir=\"PROJECT-DIRECTORY-PLACEHOLDER\",\n        profiles_dir=\"PROFILES-DIRECTORY-PLACEHOLDER\",\n        dbt_cli_profile=dbt_cli_profile,\n    ) as dbt_operation:\n        dbt_process = dbt_operation.trigger()\n        # do other things before waiting for completion\n        dbt_process.wait_for_completion()\n        result = dbt_process.fetch_result()\n    return result\n\ntrigger_dbt_flow()\n```\n\n## Resources\n\nIf you need help getting started with or using dbt, please consult the [dbt documentation](https://docs.getdbt.com/docs/building-a-dbt-project/documentation).\n\n### Installation\n\nTo use `prefect-dbt` with dbt Cloud:\n\n```bash\npip install prefect-dbt\n```\n\nTo use dbt Core (CLI):\n\n```bash\npip install \"prefect-dbt[cli]\"\n```\n\nTo use dbt Core with Snowflake profiles:\n\n```bash\npip install \"prefect-dbt[snowflake]\"\n```\n\nTo use dbt Core with BigQuery profiles:\n\n```bash\npip install \"prefect-dbt[bigquery]\"\n```\n\nTo use dbt Core with Postgres profiles:\n\n```bash\npip install \"prefect-dbt[postgres]\"\n```\n\n!!! warning \"Some dbt Core profiles require additional installation\"\n\n    According to dbt's [Databricks setup page](https://docs.getdbt.com/reference/warehouse-setups/databricks-setup), users must first install the adapter:\n\n    ```bash\n    pip install dbt-databricks\n    ```\n\n    Check out the [desired profile setup page](https://docs.getdbt.com/reference/profiles.yml) on the sidebar for others.\n\nRequires an installation of Python 3.8+.\n\nWe recommend using a Python virtual environment manager such as pipenv, conda or virtualenv.\n\nThese tasks are designed to work with Prefect 2. For more information about how to use Prefect, please refer to the [Prefect documentation](https://docs.prefect.io/).\n\n### Saving credentials to block\n\nNote, to use the `load` method on Blocks, you must already have a block document [saved through code](https://docs.prefect.io/concepts/blocks/#saving-blocks) or [saved through the UI](https://docs.prefect.io/ui/blocks/).\n\n!!! info \"Registering blocks\"\n\n    Register blocks in this module to\n    [view and edit them](https://docs.prefect.io/ui/blocks/)\n    on Prefect Cloud:\n\n    ```bash\n    prefect block register -m prefect_dbt\n    ```\n\n#### dbt Cloud\n\nTo create a dbt Cloud credentials block:\n\n1. Head over to your [dbt Cloud profile](https://cloud.getdbt.com/settings/profile).\n2. Login to your dbt Cloud account.\n3. Scroll down to \"API\" or click \"API Access\" on the sidebar.\n4. Copy the API Key.\n5. Click Projects on the sidebar.\n6. Copy the account ID from the URL: `https://cloud.getdbt.com/settings/accounts/<ACCOUNT_ID>`.\n7. Create a short script, replacing the placeholders.\n\n```python\nfrom prefect_dbt.cloud import DbtCloudCredentials\n\nDbtCloudCredentials(\n    api_key=\"API-KEY-PLACEHOLDER\",\n    account_id=\"ACCOUNT-ID-PLACEHOLDER\"\n).save(\"CREDENTIALS-BLOCK-NAME-PLACEHOLDER\")\n```\n\nThen, to create a dbt Cloud job block:\n\n1. Head over to your [dbt home page](https://cloud.getdbt.com/).\n2. On the top nav bar, click on Deploy -> Jobs.\n3. Select a job.\n4. Copy the job ID from the URL: `https://cloud.getdbt.com/deploy/<ACCOUNT_ID>/projects/<PROJECT_ID>/jobs/<JOB_ID>`\n5. Create a short script, replacing the placeholders.\n\n```python\nfrom prefect_dbt.cloud import DbtCloudCredentials, DbtCloudJob\n\ndbt_cloud_credentials = DbtCloudCredentials.load(\"CREDENTIALS-BLOCK-NAME-PLACEHOLDER\")\ndbt_cloud_job = DbtCloudJob(\n    dbt_cloud_credentials=dbt_cloud_credentials,\n    job_id=\"JOB-ID-PLACEHOLDER\"\n).save(\"JOB-BLOCK-NAME-PLACEHOLDER\")\n```\n\nCongrats! You can now easily load the saved block, which holds your credentials:\n\n```python\nfrom prefect_dbt.cloud import DbtCloudJob\n\nDbtCloudJob.load(\"JOB-BLOCK-NAME-PLACEHOLDER\")\n```\n\n#### dbt Core CLI\n\n!!! info \"Available `TargetConfigs` blocks\"\n\n    The following may vary slightly depending on the service you want to incorporate.\n\n    Visit the [API Reference](cli/configs/base) to see other built-in `TargetConfigs` blocks.\n\n    If the desired service profile is not available, check out the\n    [Examples Catalog](examples_catalog/#clicredentials-module) to see how you can\n    build one from the generic `TargetConfigs` class.\n\nTo create dbt Core target config and profile blocks for BigQuery:\n\n1. Save and load a [`GcpCredentials` block](https://prefecthq.github.io/prefect-gcp/#saving-credentials-to-a-block).\n2. Determine the schema / dataset you want to use in BigQuery.\n3. Create a short script, replacing the placeholders.\n\n```python\nfrom prefect_gcp.credentials import GcpCredentials\nfrom prefect_dbt.cli import BigQueryTargetConfigs, DbtCliProfile\n\ncredentials = GcpCredentials.load(\"CREDENTIALS-BLOCK-NAME-PLACEHOLDER\")\ntarget_configs = BigQueryTargetConfigs(\n    schema=\"SCHEMA-NAME-PLACEHOLDER\",  # also known as dataset\n    credentials=credentials,\n)\ntarget_configs.save(\"TARGET-CONFIGS-BLOCK-NAME-PLACEHOLDER\")\n\ndbt_cli_profile = DbtCliProfile(\n    name=\"PROFILE-NAME-PLACEHOLDER\",\n    target=\"TARGET-NAME-placeholder\",\n    target_configs=target_configs,\n)\ndbt_cli_profile.save(\"DBT-CLI-PROFILE-BLOCK-NAME-PLACEHOLDER\")\n```\n\nThen, to create a dbt Core operation block:\n\n1. Determine the dbt commands you want to run.\n2. Create a short script, replacing the placeholders.\n\n```python\nfrom prefect_dbt.cli import DbtCliProfile, DbtCoreOperation\n\ndbt_cli_profile = DbtCliProfile.load(\"DBT-CLI-PROFILE-BLOCK-NAME-PLACEHOLDER\")\ndbt_core_operation = DbtCoreOperation(\n    commands=[\"DBT-CLI-COMMANDS-PLACEHOLDER\"],\n    dbt_cli_profile=dbt_cli_profile,\n    overwrite_profiles=True,\n)\ndbt_core_operation.save(\"DBT-CORE-OPERATION-BLOCK-NAME-PLACEHOLDER\")\n```\n\nCongrats! You can now easily load the saved block, which holds your credentials:\n\n```python\nfrom prefect_dbt.cloud import DbtCoreOperation\n\nDbtCoreOperation.load(\"DBT-CORE-OPERATION-BLOCK-NAME-PLACEHOLDER\")\n```\n\n### Feedback\n\nIf you encounter any bugs while using `prefect-dbt`, feel free to open an issue in the [prefect](https://github.com/PrefectHQ/prefect) repository.\n\nIf you have any questions or issues while using `prefect-dbt`, you can find help in the [Prefect Slack community](https://prefect.io/slack).\n\n### Contributing\n\nIf you'd like to help contribute to fix an issue or add a feature to `prefect-dbt`, please [propose changes through a pull request from a fork of the repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork).\n\nHere are the steps:\n\n1. [Fork the repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository)\n2. [Clone the forked repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#cloning-your-forked-repository)\n3. Install the repository and its dependencies:\n```\npip install -e \".[dev]\"\n```\n4. Make desired changes\n5. Add tests\n6. Install `pre-commit` to perform quality checks prior to commit:\n```\npre-commit install\n```\n7. `git commit`, `git push`, and create a pull request\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Prefect integrations for working with dbt",
    "version": "0.4.2",
    "project_urls": {
        "Homepage": "https://github.com/PrefectHQ/prefect/tree/main/src/integrations/prefect-dbt"
    },
    "split_keywords": [
        "prefect"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e5bfd2457d1b7ac551abcbfa032402efa84c8c1641e7ed74f0fdf4fc8c09c7b4",
                "md5": "8190fc5d8214e81747be5fb147e9cfee",
                "sha256": "1265140d2653c5c4c951319d0ddca410426c788676f596607d6bed1b11bbbf0e"
            },
            "downloads": -1,
            "filename": "prefect_dbt-0.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8190fc5d8214e81747be5fb147e9cfee",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 42436,
            "upload_time": "2024-04-25T19:21:53",
            "upload_time_iso_8601": "2024-04-25T19:21:53.838051Z",
            "url": "https://files.pythonhosted.org/packages/e5/bf/d2457d1b7ac551abcbfa032402efa84c8c1641e7ed74f0fdf4fc8c09c7b4/prefect_dbt-0.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49ce912a6835011882de7a290cbce329106be27c69810d0ec036e439b10b500c",
                "md5": "aec4e42587fa65ad292f1946dceaea52",
                "sha256": "b4a8e1824159ac0ab71594152affeb064a021c621a145c4276482863a7734a7e"
            },
            "downloads": -1,
            "filename": "prefect_dbt-0.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "aec4e42587fa65ad292f1946dceaea52",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 47118,
            "upload_time": "2024-04-25T19:21:55",
            "upload_time_iso_8601": "2024-04-25T19:21:55.223260Z",
            "url": "https://files.pythonhosted.org/packages/49/ce/912a6835011882de7a290cbce329106be27c69810d0ec036e439b10b500c/prefect_dbt-0.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-25 19:21:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PrefectHQ",
    "github_project": "prefect",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "circle": true,
    "requirements": [],
    "lcname": "prefect-dbt"
}
        
Elapsed time: 0.25543s