Metadata-Version: 2.4
Name: astronomer-cosmos-gcp-experimental
Version: 0.0.1
Summary: Orchestrate your dbt projects in Airflow
Project-URL: Homepage, https://github.com/astronomer/astronomer-cosmos
Project-URL: Documentation, https://astronomer.github.io/astronomer-cosmos
Project-URL: Source code, https://github.com/astronomer/astronomer-cosmos
Author-email: Astronomer <humans@astronomer.io>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: airflow,apache-airflow,astronomer,dags,dbt,dbt-core,dbt-fusion
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Apache Airflow
Classifier: Framework :: Apache Airflow :: Provider
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: aenum
Requires-Dist: apache-airflow>=2.9.0
Requires-Dist: attrs
Requires-Dist: deprecation
Requires-Dist: jinja2>=3.0.0
Requires-Dist: msgpack
Requires-Dist: openlineage-integration-common
Requires-Dist: packaging>=22.0
Requires-Dist: virtualenv
Provides-Extra: all
Requires-Dist: airflow-provider-duckdb>=0.2.0; extra == 'all'
Requires-Dist: apache-airflow-providers-amazon[s3fs]>=3.0.0; extra == 'all'
Requires-Dist: apache-airflow-providers-google>=10.17.0; extra == 'all'
Requires-Dist: apache-airflow-providers-microsoft-azure>=8.5.0; extra == 'all'
Requires-Dist: dbt-athena; extra == 'all'
Requires-Dist: dbt-bigquery; extra == 'all'
Requires-Dist: dbt-clickhouse; extra == 'all'
Requires-Dist: dbt-databricks!=1.9.0; extra == 'all'
Requires-Dist: dbt-duckdb; extra == 'all'
Requires-Dist: dbt-exasol; extra == 'all'
Requires-Dist: dbt-mysql; extra == 'all'
Requires-Dist: dbt-oracle; extra == 'all'
Requires-Dist: dbt-postgres; extra == 'all'
Requires-Dist: dbt-redshift; extra == 'all'
Requires-Dist: dbt-snowflake; extra == 'all'
Requires-Dist: dbt-spark; extra == 'all'
Requires-Dist: dbt-sqlserver; extra == 'all'
Requires-Dist: dbt-starrocks; extra == 'all'
Requires-Dist: dbt-teradata; extra == 'all'
Requires-Dist: dbt-vertica; extra == 'all'
Requires-Dist: gcsfs<2025.3.0; extra == 'all'
Requires-Dist: openlineage-airflow; extra == 'all'
Requires-Dist: openlineage-integration-common!=1.15.0; extra == 'all'
Provides-Extra: amazon
Requires-Dist: apache-airflow-providers-amazon[s3fs]>=3.0.0; extra == 'amazon'
Provides-Extra: aws-ecs
Requires-Dist: apache-airflow-providers-amazon>=8.0.0; extra == 'aws-ecs'
Provides-Extra: aws-eks
Requires-Dist: apache-airflow-providers-amazon>=8.0.0; extra == 'aws-eks'
Provides-Extra: azure-container-instance
Requires-Dist: apache-airflow-providers-microsoft-azure>=8.5.0; extra == 'azure-container-instance'
Provides-Extra: dbt-all
Requires-Dist: dbt-athena; extra == 'dbt-all'
Requires-Dist: dbt-bigquery; extra == 'dbt-all'
Requires-Dist: dbt-clickhouse; extra == 'dbt-all'
Requires-Dist: dbt-databricks!=1.9.0; extra == 'dbt-all'
Requires-Dist: dbt-duckdb; extra == 'dbt-all'
Requires-Dist: dbt-exasol; extra == 'dbt-all'
Requires-Dist: dbt-mysql; extra == 'dbt-all'
Requires-Dist: dbt-oracle; extra == 'dbt-all'
Requires-Dist: dbt-postgres; extra == 'dbt-all'
Requires-Dist: dbt-redshift; extra == 'dbt-all'
Requires-Dist: dbt-snowflake; extra == 'dbt-all'
Requires-Dist: dbt-spark; extra == 'dbt-all'
Requires-Dist: dbt-sqlserver; extra == 'dbt-all'
Requires-Dist: dbt-starrocks; extra == 'dbt-all'
Requires-Dist: dbt-teradata; extra == 'dbt-all'
Requires-Dist: dbt-vertica; extra == 'dbt-all'
Provides-Extra: dbt-athena
Requires-Dist: apache-airflow-providers-amazon>=8.0.0; extra == 'dbt-athena'
Requires-Dist: dbt-athena-community; extra == 'dbt-athena'
Provides-Extra: dbt-bigquery
Requires-Dist: dbt-bigquery; extra == 'dbt-bigquery'
Provides-Extra: dbt-clickhouse
Requires-Dist: dbt-clickhouse; extra == 'dbt-clickhouse'
Provides-Extra: dbt-databricks
Requires-Dist: dbt-databricks; extra == 'dbt-databricks'
Provides-Extra: dbt-duckdb
Requires-Dist: airflow-provider-duckdb>=0.2.0; extra == 'dbt-duckdb'
Requires-Dist: dbt-duckdb; extra == 'dbt-duckdb'
Provides-Extra: dbt-exasol
Requires-Dist: dbt-exasol; extra == 'dbt-exasol'
Provides-Extra: dbt-loom
Requires-Dist: dbt-loom; extra == 'dbt-loom'
Provides-Extra: dbt-mysql
Requires-Dist: dbt-mysql; extra == 'dbt-mysql'
Provides-Extra: dbt-oracle
Requires-Dist: dbt-oracle; extra == 'dbt-oracle'
Provides-Extra: dbt-postgres
Requires-Dist: dbt-postgres; extra == 'dbt-postgres'
Provides-Extra: dbt-redshift
Requires-Dist: dbt-redshift; extra == 'dbt-redshift'
Provides-Extra: dbt-snowflake
Requires-Dist: dbt-snowflake; extra == 'dbt-snowflake'
Provides-Extra: dbt-spark
Requires-Dist: dbt-spark; extra == 'dbt-spark'
Provides-Extra: dbt-sqlserver
Requires-Dist: dbt-sqlserver; extra == 'dbt-sqlserver'
Provides-Extra: dbt-starrocks
Requires-Dist: dbt-starrocks; extra == 'dbt-starrocks'
Provides-Extra: dbt-teradata
Requires-Dist: dbt-teradata; extra == 'dbt-teradata'
Provides-Extra: dbt-vertica
Requires-Dist: dbt-vertica<=1.5.4; extra == 'dbt-vertica'
Provides-Extra: docker
Requires-Dist: apache-airflow-providers-docker>=3.5.0; extra == 'docker'
Provides-Extra: docs
Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.14.0; extra == 'docs'
Requires-Dist: pydata-sphinx-theme>=0.16.0; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-autoapi; extra == 'docs'
Requires-Dist: sphinx-autobuild; extra == 'docs'
Provides-Extra: gcp-cloud-run-job
Requires-Dist: apache-airflow-providers-google>=10.11.0; extra == 'gcp-cloud-run-job'
Provides-Extra: google
Requires-Dist: apache-airflow-providers-google>=10.17.0; extra == 'google'
Requires-Dist: gcsfs<2025.3.0; extra == 'google'
Provides-Extra: kubernetes
Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.14.0; extra == 'kubernetes'
Provides-Extra: microsoft
Requires-Dist: apache-airflow-providers-microsoft-azure>=8.5.0; extra == 'microsoft'
Provides-Extra: openlineage
Requires-Dist: openlineage-airflow; extra == 'openlineage'
Requires-Dist: openlineage-integration-common!=1.15.0; extra == 'openlineage'
Description-Content-Type: text/x-rst

.. License badge
.. |license| image:: https://img.shields.io/:license-Apache%202-blue.svg
    :target: https://www.apache.org/licenses/LICENSE-2.0.txt
    :alt: License




.. PyPI badges
.. |fury| image:: https://badge.fury.io/py/astronomer-cosmos.svg
    :target: https://badge.fury.io/py/astronomer-cosmos
    :alt: PyPI version

.. |python| image:: https://img.shields.io/pypi/pyversions/astronomer-cosmos.svg
    :target: https://pypi.org/project/astronomer-cosmos/
    :alt: Python versions

.. |downloads| image:: https://img.shields.io/pypi/dm/astronomer-cosmos
    :target: https://pypi.org/project/astronomer-cosmos/
    :alt: PyPI downloads

.. Community badges
.. |contributors| image:: https://img.shields.io/github/contributors/astronomer/astronomer-cosmos
    :target: https://github.com/astronomer/astronomer-cosmos/graphs/contributors
    :alt: Contributors

.. |commits| image:: https://img.shields.io/github/commit-activity/m/astronomer/astronomer-cosmos
    :target: https://github.com/astronomer/astronomer-cosmos/commits/main
    :alt: Commit activity

.. |slack| image:: https://img.shields.io/badge/slack-%23airflow--dbt-white.svg?logo=slack&style=social
    :target: https://join.slack.com/t/apache-airflow/shared_invite/zt-1zy8e8h85-es~fn19iMzUmkhPwnyRT6Q
    :alt: Slack #airflow-dbt

.. |health| image:: https://insights.linuxfoundation.org/api/badge/health-score?project=astronomer-astronomer-cosmos
    :target: https://insights.linuxfoundation.org/project/astronomer-astronomer-cosmos
    :alt: LFX Health Score

.. Dev tools badges
.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/astronomer/astronomer-cosmos/main.svg
    :target: https://results.pre-commit.ci/latest/github/astronomer/astronomer-cosmos/main
    :alt: pre-commit.ci status

.. Build status badges
.. |build-main| image:: https://github.com/astronomer/astronomer-cosmos/actions/workflows/test.yml/badge.svg
    :target: https://github.com/astronomer/astronomer-cosmos/actions
    :alt: Build main

.. image:: https://raw.githubusercontent.com/astronomer/astronomer-cosmos/main/docs/_static/cosmos-logo.svg


===========================================================

|license| |fury| |python| |downloads|

|contributors| |commits| |slack| |health|

|pre-commit| |build-main|

Run your dbt Core projects as `Apache Airflow® <https://airflow.apache.org/>`_ DAGs and Task Groups with a few lines of code. Benefits include:

- Run dbt projects against Airflow connections instead of dbt profiles
- Native support for installing and running dbt in a virtual environment to avoid dependency conflicts with Airflow
- Run tests immediately after a model is done to catch issues early
- Utilize Airflow's data-aware scheduling to run models immediately after upstream ingestion
- Turn each dbt model into a task/task group complete with retries, alerting, etc.

Quickstart
__________

Check out the Getting Started guide on our `docs <https://astronomer.github.io/astronomer-cosmos/getting_started/index.html>`_. See more examples at `/dev/dags <https://github.com/astronomer/astronomer-cosmos/tree/main/dev/dags>`_ and at the `cosmos-demo repo <https://github.com/astronomer/cosmos-demo>`_.


Example Usage
___________________

You can render a Cosmos Airflow DAG using the ``DbtDag`` class. Here's an example with the `jaffle_shop project <https://github.com/dbt-labs/jaffle_shop>`_:

..
   This renders on Github but not Sphinx:

https://github.com/astronomer/astronomer-cosmos/blob/24aa38e528e299ef51ca6baf32f5a6185887d432/dev/dags/basic_cosmos_dag.py#L1-L42

This will generate an Airflow DAG that looks like this:

.. figure:: https://github.com/astronomer/astronomer-cosmos/blob/main/docs/_static/jaffle_shop_dag.png


Community
_________
- Join us on the Airflow `Slack <https://join.slack.com/t/apache-airflow/shared_invite/zt-1zy8e8h85-es~fn19iMzUmkhPwnyRT6Q>`_ at #airflow-dbt


Changelog
_________

We follow `Semantic Versioning <https://semver.org/>`_ for releases.
Check `CHANGELOG.rst <https://github.com/astronomer/astronomer-cosmos/blob/main/CHANGELOG.rst>`_
for the latest changes.


Contributing Guide
__________________

All contributions, bug reports, bug fixes, documentation improvements, enhancements are welcome.

A detailed overview an how to contribute can be found in the `Contributing Guide <https://astronomer.github.io/astronomer-cosmos/policy/contributing>`_.

As contributors and maintainers to this project, you are expected to abide by the
`Contributor Code of Conduct <https://github.com/astronomer/astronomer-cosmos/blob/main/CODE_OF_CONDUCT.md>`_.


License
_______

`Apache License 2.0 <https://github.com/astronomer/astronomer-cosmos/blob/main/LICENSE>`_


Privacy Notice
______________

The application and this website collect telemetry to support the project's development. These can be disabled by the end-users.

Read the `Privacy Notice <https://github.com/astronomer/astronomer-cosmos/blob/main/PRIVACY_NOTICE.rst>`_ to learn more about it.

.. Tracking pixel for Scarf

.. image:: https://static.scarf.sh/a.png?x-pxid=ae43a92a-5a21-4c77-af8b-99c2242adf93
   :target: https://static.scarf.sh/a.png?x-pxid=ae43a92a-5a21-4c77-af8b-99c2242adf93


Related Repositories
____________________

The core Astronomer Cosmos library is developed in this repository (`astronomer-cosmos <https://github.com/astronomer/astronomer-cosmos>`_). The following additional repositories are maintained as part of the Astronomer Cosmos project:

- `cosmos-demo <https://github.com/astronomer/cosmos-demo>`_ - Example DAGs and demo project for Cosmos

At this time, Cosmos has no other subprojects or additional repositories beyond the one listed above.


Security Policy
---------------

Check the project's `Security Policy <https://github.com/astronomer/astronomer-cosmos/blob/main/SECURITY.rst>`_ to learn
how to report security vulnerabilities in Astronomer Cosmos and how security issues reported to the Astronomer Cosmos
security team are handled.
