.. |fury| image:: https://badge.fury.io/py/astronomer-cosmos.svg
:target: https://badge.fury.io/py/astronomer-cosmos
.. |ossrank| image:: https://img.shields.io/endpoint?url=https://ossrank.com/shield/2121
:target: https://ossrank.com/p/2121-astronomer-cosmos
.. |downloads| image:: https://img.shields.io/pypi/dm/astronomer-cosmos.svg
:target: https://img.shields.io/pypi/dm/astronomer-cosmos
.. |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
.. image:: https://raw.githubusercontent.com/astronomer/astronomer-cosmos/main/docs/_static/cosmos-logo.svg
===========================================================
|fury| |ossrank| |downloads| |pre-commit|
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:: /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/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
______________
This project follows `Astronomer's Privacy Policy <https://www.astronomer.io/privacy/>`_
Raw data
{
"_id": null,
"home_page": null,
"name": "astronomer-cosmos",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "airflow, apache-airflow, astronomer, dags, dbt",
"author": null,
"author_email": "Astronomer <humans@astronomer.io>",
"download_url": "https://files.pythonhosted.org/packages/c7/f3/217a5256fcd1d3e893b4d784639648c0227a5672f1b57ad95beefa97e899/astronomer_cosmos-1.7.0.tar.gz",
"platform": null,
"description": ".. |fury| image:: https://badge.fury.io/py/astronomer-cosmos.svg\n :target: https://badge.fury.io/py/astronomer-cosmos\n\n.. |ossrank| image:: https://img.shields.io/endpoint?url=https://ossrank.com/shield/2121\n :target: https://ossrank.com/p/2121-astronomer-cosmos\n\n.. |downloads| image:: https://img.shields.io/pypi/dm/astronomer-cosmos.svg\n :target: https://img.shields.io/pypi/dm/astronomer-cosmos\n\n.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/astronomer/astronomer-cosmos/main.svg\n :target: https://results.pre-commit.ci/latest/github/astronomer/astronomer-cosmos/main\n :alt: pre-commit.ci status\n\n\n\n.. image:: https://raw.githubusercontent.com/astronomer/astronomer-cosmos/main/docs/_static/cosmos-logo.svg\n\n\n===========================================================\n\n|fury| |ossrank| |downloads| |pre-commit|\n\nRun your dbt Core projects as `Apache Airflow\u00ae <https://airflow.apache.org/>`_ DAGs and Task Groups with a few lines of code. Benefits include:\n\n- Run dbt projects against Airflow connections instead of dbt profiles\n- Native support for installing and running dbt in a virtual environment to avoid dependency conflicts with Airflow\n- Run tests immediately after a model is done to catch issues early\n- Utilize Airflow's data-aware scheduling to run models immediately after upstream ingestion\n- Turn each dbt model into a task/task group complete with retries, alerting, etc.\n\nQuickstart\n__________\n\nCheck 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>`_.\n\n\nExample Usage\n___________________\n\nYou 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>`_:\n\n..\n This renders on Github but not Sphinx:\n\nhttps://github.com/astronomer/astronomer-cosmos/blob/24aa38e528e299ef51ca6baf32f5a6185887d432/dev/dags/basic_cosmos_dag.py#L1-L42\n\nThis will generate an Airflow DAG that looks like this:\n\n.. figure:: /docs/_static/jaffle_shop_dag.png\n\n\nCommunity\n_________\n- Join us on the Airflow `Slack <https://join.slack.com/t/apache-airflow/shared_invite/zt-1zy8e8h85-es~fn19iMzUmkhPwnyRT6Q>`_ at #airflow-dbt\n\n\nChangelog\n_________\n\nWe follow `Semantic Versioning <https://semver.org/>`_ for releases.\nCheck `CHANGELOG.rst <https://github.com/astronomer/astronomer-cosmos/blob/main/CHANGELOG.rst>`_\nfor the latest changes.\n\n\nContributing Guide\n__________________\n\nAll contributions, bug reports, bug fixes, documentation improvements, enhancements are welcome.\n\nA detailed overview an how to contribute can be found in the `Contributing Guide <https://astronomer.github.io/astronomer-cosmos/contributing>`_.\n\nAs contributors and maintainers to this project, you are expected to abide by the\n`Contributor Code of Conduct <https://github.com/astronomer/astronomer-cosmos/blob/main/CODE_OF_CONDUCT.md>`_.\n\n\nLicense\n_______\n\n`Apache License 2.0 <https://github.com/astronomer/astronomer-cosmos/blob/main/LICENSE>`_\n\n\nPrivacy Notice\n______________\n\nThis project follows `Astronomer's Privacy Policy <https://www.astronomer.io/privacy/>`_\n",
"bugtrack_url": null,
"license": null,
"summary": "Orchestrate your dbt projects in Airflow",
"version": "1.7.0",
"project_urls": {
"Documentation": "https://astronomer.github.io/astronomer-cosmos",
"Homepage": "https://github.com/astronomer/astronomer-cosmos",
"Source code": "https://github.com/astronomer/astronomer-cosmos"
},
"split_keywords": [
"airflow",
" apache-airflow",
" astronomer",
" dags",
" dbt"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "48a1e98a55efc17b7c73974b7af0dca4edac022d4b0c8d8c0a13684a952257f8",
"md5": "43ef5094a7b5388c3ab5dc39020cccce",
"sha256": "878ef8b9111d18c70159d72ba63f646ab9a26568776ea06dae1abce4c92e9f2a"
},
"downloads": -1,
"filename": "astronomer_cosmos-1.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "43ef5094a7b5388c3ab5dc39020cccce",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 132854,
"upload_time": "2024-10-04T10:52:02",
"upload_time_iso_8601": "2024-10-04T10:52:02.332957Z",
"url": "https://files.pythonhosted.org/packages/48/a1/e98a55efc17b7c73974b7af0dca4edac022d4b0c8d8c0a13684a952257f8/astronomer_cosmos-1.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c7f3217a5256fcd1d3e893b4d784639648c0227a5672f1b57ad95beefa97e899",
"md5": "6b48a4304578e44ba4609a864377a3a0",
"sha256": "0aff1a36602d73c216ad0468afa157376bac81fadebde0a4e3c1e2385433327f"
},
"downloads": -1,
"filename": "astronomer_cosmos-1.7.0.tar.gz",
"has_sig": false,
"md5_digest": "6b48a4304578e44ba4609a864377a3a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 94840,
"upload_time": "2024-10-04T10:52:03",
"upload_time_iso_8601": "2024-10-04T10:52:03.870506Z",
"url": "https://files.pythonhosted.org/packages/c7/f3/217a5256fcd1d3e893b4d784639648c0227a5672f1b57ad95beefa97e899/astronomer_cosmos-1.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-04 10:52:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "astronomer",
"github_project": "astronomer-cosmos",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "astronomer-cosmos"
}