{"adoption": {"forks": 260, "observed_at": "2026-08-28T04:04:29.338737+00:00", "stars": 1356}, "canonical_url": "https://ross.abutalabs.com/products/etl-with-airflow", "card": {"archived": false, "artifact_type": "learning-resource", "description": "ETL best practices with airflow, with examples", "domain": ["tutorials", "developer-tools"], "enriched": true, "function": ["etl", "workflow-automation", "documentation", "scheduling"], "health_score": 20, "homepage": null, "language": "Shell", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["gtoonstra/etl-with-airflow"], "name": "gtoonstra/etl-with-airflow", "platform": ["python", "cross-platform"], "pushed_at": "2024-09-25T14:42:06+00:00", "repo": "gtoonstra/etl-with-airflow", "stars": 1356, "tags": ["apache-airflow", "etl-patterns", "best-practices", "examples", "data-pipelines", "data-engineering", "automation"], "topics": [], "urls": [], "use_cases": ["learn how to build ETL pipelines with airflow", "find airflow DAG examples and patterns", "understand ETL best practices for data engineering", "get guidance on structuring airflow projects", "study real-world airflow workflow examples"], "what_it_is": "A community-maintained collection of ETL best practices, usage patterns, and examples for Apache Airflow, published as documentation with accompanying source code. It is not affiliated with the official Apache Airflow project.", "when_to_avoid": ["you need official, up-to-date Airflow documentation", "you need a production ETL tool or library rather than educational material", "you require a maintained, licensed dependency in your project"], "when_to_choose": ["you are learning Apache Airflow and want practical ETL examples", "you need guidance on ETL design patterns and principles", "you want reference material beyond official Airflow docs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/etl-with-airflow", "repo": "gtoonstra/etl-with-airflow", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.338737+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:54.596256+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b9153be10d542c4ea2e73267a64c16f0353865c9c7ab1c911884399bee9bd430", "fetched_at": "2026-08-28T04:04:29.338737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gtoonstra/etl-with-airflow"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3608, "days_push": 707, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}