setting-up-astro-project

द्वारा astronomer

Astro/Airflow प्रोजेक्ट्स को डिपेंडेंसी, कनेक्शन और एनवायरनमेंट सेटअप के साथ इनिशियलाइज़ और कॉन्फ़िगर करें। astro dev init के साथ पूर्ण प्रोजेक्ट संरचना तैयार करता है, जिसमें DAGs, प्लगइन्स, टेस्ट और कॉन्फ़िगरेशन फ़ाइलों के लिए डायरेक्टरी शामिल हैं। requirements.txt और packages.txt के माध्यम से Python और OS-स्तरीय डिपेंडेंसी प्रबंधित करें, जटिल सेटअप के लिए कस्टम Dockerfile सपोर्ट के साथ। airflow_settings.yaml में कनेक्शन, वेरिए

npx skills add https://github.com/astronomer/agents --skill setting-up-astro-project

Astro Project Setup

This skill helps you initialize and configure Airflow projects using the Astro CLI.

To run the local environment, see the managing-astro-local-env skill. To write DAGs, see the authoring-dags skill. Open-source alternative: If the user isn't on Astro, guide them to Apache Airflow's Docker Compose quickstart for local dev and the Helm chart for production. For deployment strategies, use the deploying-airflow skill.


Initialize a New Project

astro dev init

Don't pass --airflow-version or --runtime-version unless the user explicitly asks for a specific pin. Plain astro dev init resolves to the latest Astro Runtime — that's the right default. Specifying a version risks pinning to a stale value from training data. If the user wants to know what was installed, read the generated Dockerfile afterward instead of guessing.

Creates this structure:

project/
├── dags/                # DAG files
├── include/             # SQL, configs, supporting files
├── plugins/             # Custom Airflow plugins
├── tests/               # Unit tests
├── Dockerfile           # Image customization
├── packages.txt         # OS-level packages
├── requirements.txt     # Python packages
└── airflow_settings.yaml # Connections, variables, pools

Adding Dependencies

Python Packages (requirements.txt)

apache-airflow-providers-snowflake==5.3.0
pandas==2.1.0
requests>=2.28.0

OS Packages (packages.txt)

gcc
libpq-dev

Custom Dockerfile

For complex setups (private PyPI, custom scripts):

FROM quay.io/astronomer/astro-runtime:12.4.0

RUN pip install --extra-index-url https://pypi.example.com/simple my-package

After modifying dependencies: Run astro dev restart


Configuring Connections & Variables

airflow_settings.yaml

Loaded automatically on environment start:

airflow:
  connections:
    - conn_id: my_postgres
      conn_type: postgres
      host: host.docker.internal
      port: 5432
      login: user
      password: pass
      schema: mydb

  variables:
    - variable_name: env
      variable_value: dev

  pools:
    - pool_name: limited_pool
      pool_slot: 5

Export/Import

# Export from running environment
astro dev object export --connections --file connections.yaml

# Import to environment
astro dev object import --connections --file connections.yaml

Validate Before Running

Parse DAGs to catch errors without starting the full environment:

astro dev parse

Related Skills

  • managing-astro-local-env: Start, stop, and troubleshoot the local environment
  • authoring-dags: Write and validate DAGs (uses MCP tools)
  • testing-dags: Test DAGs (uses MCP tools)
  • deploying-airflow: Deploy DAGs to production (Astro, Docker Compose, Kubernetes)

astronomer की और Skills

airflow
astronomer
Apache Airflow DAGs, रन, टास्क और सिस्टम कॉन्फ़िगरेशन को क्वेरी, प्रबंधित और समस्या निवारण करें। DAG निरीक्षण, रन प्रबंधन, टास्क लॉगिंग, कॉन्फ़िगरेशन क्वेरी और सीधे REST API एक्सेस में 30+ कमांड का समर्थन करता है। स्थायी कॉन्फ़िगरेशन के साथ कई Airflow इंस्टेंस प्रबंधित करें; स्थानीय और Astro डिप्लॉयमेंट को स्वचालित रूप से खोजें। DAG रन को सिंक्रोनस (पूर्णता की प्रतीक्षा करें) या एसिंक्रोनस रूप से
official
airflow-hitl
astronomer
एयरफ्लो डीएजी में डिफरेबल ऑपरेटरों का उपयोग करके मानव अनुमोदन गेट, फॉर्म इनपुट और ब्रांचिंग। चार ऑपरेटर प्रकार: अनुमोदन/अस्वीकृति निर्णयों के लिए ApprovalOperator, फॉर्म के साथ बहु-विकल्प चयन के लिए HITLOperator, मानव-संचालित कार्य रूटिंग के लिए HITLBranchOperator, और फॉर्म डेटा संग्रह के लिए HITLEntryOperator। सभी ऑपरेटर डिफरेबल हैं, जो एयरफ्लो यूआई के आवश्यक कार्रवाई टैब या REST API के माध्यम
official
airflow-plugins
astronomer
Airflow 3.1+ प्लगइन्स बनाएँ जो FastAPI ऐप्स, कस्टम UI पेज, React कम्पोनेंट्स, मिडलवेयर, मैक्रोज़ और ऑपरेटर लिंक्स को सीधे Airflow UI में एम्बेड करते हैं। उपयोग करें…
official
analyzing-data
astronomer
अपने डेटा वेयरहाउस से कैश्ड पैटर्न और कॉन्सेप्ट मैपिंग के साथ व्यावसायिक प्रश्नों के उत्तर प्राप्त करें। बार-बार पूछे जाने वाले प्रश्नों के लिए पैटर्न लुकअप और कैशिंग का समर्थन करता है, जिसमें भविष्य के प्रश्नों को बेहतर बनाने के लिए परिणाम रिकॉर्डिंग शामिल है। इसमें कॉन्सेप्ट-टू-टेबल मैपिंग कैश और INFORMATION_SCHEMA या कोडबेस grep के माध्यम से टेबल स्कीमा डिस्कवरी शामिल है। विश्लेषण के लिए
official
annotating-task-lineage
astronomer
Airflow कार्यों को इनलेट और आउटलेट का उपयोग करके डेटा लाइनेज के साथ एनोटेट करें। डेटाबेस, डेटा वेयरहाउस और क्लाउड स्टोरेज में इनपुट और आउटपुट परिभाषित करने के लिए OpenLineage Dataset ऑब्जेक्ट, Airflow Assets और Airflow Datasets का समर्थन करता है। जब ऑपरेटरों में बिल्ट-इन OpenLineage एक्सट्रैक्टर न हों तो फ़ॉलबैक के रूप में उपयोग करें; चार-स्तरीय प्राथमिकता प्रणाली का पालन करता है जहाँ कस्टम एक्सट्रैक्टर और OpenLineage
official
authoring-dags
astronomer
Apache Airflow DAGs बनाने के लिए निर्देशित कार्यप्रवाह, जिसमें सत्यापन और परीक्षण एकीकरण शामिल है। संरचित छह-चरणीय दृष्टिकोण: वातावरण और मौजूदा पैटर्न की खोज करें, DAG संरचना की योजना बनाएं, सर्वोत्तम प्रथाओं का पालन करते हुए कार्यान्वित करें, af CLI कमांड से सत्यापित करें, उपयोगकर्ता की सहमति से परीक्षण करें, और सुधारों पर पुनरावृत्ति करें। खोज के लिए CLI कमांड (af config connections, af config providers, af dags list) और सत्यापन के लिए (af d
official
blueprint
astronomer
Pydantic सत्यापन के साथ पुन: प्रयोज्य Airflow कार्य समूह टेम्पलेट परिभाषित करें और YAML से DAGs संकलित करें। blueprint टेम्पलेट बनाते समय, DAGs संकलित करते समय उपयोग करें…
official
checking-freshness
astronomer
तालिका टाइमस्टैम्प और अद्यतन पैटर्न की जांच करके एक स्टेलनेस स्केल के विरुद्ध डेटा ताजगी सत्यापित करता है। सामान्य ETL नामकरण पैटर्न ( _loaded_at , _updated_at , created_at , आदि) का उपयोग करके टाइमस्टैम्प कॉलम की पहचान करता है और आयु निर्धारित करने के लिए उनके अधिकतम मानों को क्वेरी करता है। डेटा को चार ताजगी स्थितियों में वर्गीकृत करता है: ताजा (< 4 घंटे), बासी (4–24 घंटे), बहुत बासी (> 24 घंटे), य
official