{"id":11918605,"url":"https://github.com/astronomer/dag-factory","last_synced_at":"2026-10-19T13:02:24.842Z","repository":{"id":39534339,"uuid":"158467856","full_name":"astronomer/dag-factory","owner":"astronomer","description":"Construct Apache Airflow DAGs Declaratively via YAML configuration files","archived":false,"fork":false,"pushed_at":"2026-10-13T14:15:46.000Z","size":13571,"stargazers_count":1462,"open_issues_count":93,"forks_count":239,"subscribers_count":19,"default_branch":"main","last_synced_at":"2026-10-14T09:58:27.716Z","etag":null,"topics":["airflow","apache-airflow","dags","python"],"latest_commit_sha":null,"homepage":"https://astronomer.github.io/dag-factory/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astronomer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing/code_of_conduct.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":["ajbosco"]}},"created_at":"2018-11-21T00:20:36.000Z","updated_at":"2026-10-09T14:26:37.000Z","dependencies_parsed_at":"2026-09-25T09:15:05.610Z","dependency_job_id":null,"html_url":"https://github.com/astronomer/dag-factory","commit_stats":{"total_commits":191,"total_committers":39,"mean_commits":4.897435897435898,"dds":0.6125654450261779,"last_synced_commit":"017bc30719021769e4b842c1c8fdd136fe657ced"},"previous_names":["astronomer/dag-factory"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/astronomer/dag-factory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fdag-factory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fdag-factory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fdag-factory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fdag-factory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astronomer","download_url":"https://codeload.github.com/astronomer/dag-factory/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fdag-factory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38356506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airflow","apache-airflow","dags","python"],"created_at":"2024-06-30T23:07:37.539Z","updated_at":"2026-10-19T13:02:24.826Z","avatar_url":"https://github.com/astronomer.png","language":"Python","funding_links":["https://github.com/sponsors/ajbosco"],"categories":["Python"],"sub_categories":[],"readme":"# dag-factory\n\n[![Github Actions](https://github.com/astronomer/dag-factory/actions/workflows/cicd.yaml/badge.svg?branch=main\u0026event=push)](https://github.com/astronomer/dag-factory/actions?workflow=build)\n[![Coverage](https://codecov.io/github/astronomer/dag-factory/coverage.svg?branch=master)](https://codecov.io/github/astronomer/dag-factory?branch=master)\n[![PyPi](https://img.shields.io/pypi/v/dag-factory.svg)](https://pypi.org/project/dag-factory/)\n[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Downloads](https://img.shields.io/pypi/dm/dag-factory.svg)](https://img.shields.io/pypi/dm/dag-factory)\n\n\u003cimg alt=analytics referrerpolicy=\"no-referrer-when-downgrade\" src=\"https://static.scarf.sh/a.png?x-pxid=2bb92a5b-beb3-48cc-a722-79dda1089eda\" /\u003e\n\nWelcome to *dag-factory*! *dag-factory* is a library for [Apache Airflow®](https://airflow.apache.org) to construct DAGs\ndeclaratively via configuration files.\n\nThe minimum requirements for **dag-factory** are:\n\n- Python 3.10.0+\n- [Apache Airflow®](https://airflow.apache.org) 2.9+\n\nFor a gentle introduction, please take a look at our [Quickstart Guide](https://astronomer.github.io/dag-factory/latest/getting-started/quick-start-airflow-standalone/). For more examples, please see the\n[examples](/examples/dags/) folder.\n\n- Quickstart\n    - [Astro CLI](https://astronomer.github.io/dag-factory/latest/getting-started/quick-start-astro-cli/)\n    - [Airflow Standalone](https://astronomer.github.io/dag-factory/latest/getting-started/quick-start-airflow-standalone/)\n- [Benefits](#benefits)\n- Features\n    - [load_yml_dags Function](https://astronomer.github.io/dag-factory/latest/configuration/load_yaml_dags/)\n    - [Schedule](https://astronomer.github.io/dag-factory/latest/configuration/schedule/)\n    - [Dynamically Mapped Tasks](https://astronomer.github.io/dag-factory/latest/features/dynamic_tasks/)\n    - [Define Python Object](https://astronomer.github.io/dag-factory/latest/configuration/custom_py_object/)\n    - [Custom Operators](https://astronomer.github.io/dag-factory/latest/features/custom_operators/)\n    - [Defaults](https://astronomer.github.io/dag-factory/latest/configuration/defaults/)\n    - [Callbacks](https://astronomer.github.io/dag-factory/latest/features/callbacks/)\n    - [KubernetesPodOperator](https://astronomer.github.io/dag-factory/latest/features/kpo/)\n- [Contributing](https://astronomer.github.io/dag-factory/latest/contributing/howto/)\n\n## Benefits\n\n- Construct DAGs without knowing Python\n- Construct DAGs without learning Airflow primitives\n- Avoid duplicative code\n- Everyone loves YAML! ;)\n\n## 📢 Dag-Factory 1.0 Released\n\nVersion **1.0** introduces important improvements and breaking changes to support modern Airflow usage.\n\n👉 See the [Migration Guide](https://astronomer.github.io/dag-factory/latest/migration_guide/) to upgrade from earlier versions.\n\n## 🚀 Dag-Factory Supports Airflow 3\n\nDAG-Factory is compatible with **Apache Airflow 3** and supports modern scheduling, and updated import paths.\n\n## Community\n\nJoin us on the Apache Airflow Slack Workspace at [#yaml-dags](https://apache-airflow.slack.com/archives/C099751BPHT)\n\n## License\n\nTo learn more about the terms and conditions for use, reproduction and distribution, read the [Apache License 2.0](https://github.com/astronomer/dag-factory/blob/main/LICENSE).\n\n## Privacy Notice\n\nThis project follows [Astronomer's Privacy Policy](https://www.astronomer.io/privacy/).\n\nFor further information, [read this](https://github.com/astronomer/dag-factory/blob/main/PRIVACY_NOTICE.md)\n\n## Security Policy\n\nCheck the project's [Security Policy](https://github.com/astronomer/dag-factory/blob/main/SECURITY.md) to learn\nhow to report security vulnerabilities in DAG Factory and how security issues reported to the DAG Factory\nsecurity team are handled.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronomer%2Fdag-factory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastronomer%2Fdag-factory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronomer%2Fdag-factory/lists"}