CLI utility to sync DAG files into an Apache Airflow dags folder
Project description
Apache Airflow DagSyncer
| Category | Badges |
|---|---|
| License | |
| PyPI |
apache-airflow-dagsyncer is a command-line utility to sync Dag files from a
source location into an Apache Airflow dags
folder. It copies new and changed .py files while preserving the relative
directory layout, making it easy to promote Dags from a source repository into
a running Airflow deployment.
Table of contents
Requirements
| Component | Version |
|---|---|
| Python | 3.12+ |
| Apache Airflow | 3.2.2 or newer |
Installing from PyPI
pip install apache-airflow-dagsyncer
Or with uv:
uv pip install apache-airflow-dagsyncer
Getting started
Sync Dags from a source directory into your Airflow dags folder:
apache-airflow-dagsyncer sync --source /path/to/dag-repo --dest $AIRFLOW_HOME/dags
Preview changes without copying anything:
apache-airflow-dagsyncer sync --source /path/to/dag-repo --dest $AIRFLOW_HOME/dags --dry-run
Usage
usage: apache-airflow-dagsyncer [-h] {sync} ...
Sync DAG files from a source location into an Airflow dags folder.
positional arguments:
{sync}
sync Sync DAGs from source to destination
options:
-h, --help show this help message and exit
The sync command accepts:
| Option | Description |
|---|---|
--source |
Source directory containing Dag files |
--dest |
Destination Airflow dags folder |
--dry-run |
Show what would be synced without copying |
It can also be used programmatically:
from airflow.dagsyncer.syncer import sync_dags
sync_dags(source="/path/to/dag-repo", dest="/opt/airflow/dags", dry_run=True)
Contributing
Want to help build this project? Set up a development environment with uv:
git clone https://github.com/abhishekbhakat/apache-airflow-dagsyncer.git
cd apache-airflow-dagsyncer
uv sync
uv run apache-airflow-dagsyncer --help
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apache_airflow_dagsyncer-0.0.1rc1.tar.gz.
File metadata
- Download URL: apache_airflow_dagsyncer-0.0.1rc1.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70ba3d50915ae71d4a93fe452a5a6bc7d5e87ceb5c7c06c120669285b8451d8d
|
|
| MD5 |
05df830dbd8768c8126fb68167fc7994
|
|
| BLAKE2b-256 |
82ae4130d9153789933f92d829134a7bdeeb8c4a890371d08da0d8f1d37baca9
|
File details
Details for the file apache_airflow_dagsyncer-0.0.1rc1-py3-none-any.whl.
File metadata
- Download URL: apache_airflow_dagsyncer-0.0.1rc1-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ffa4432fc573b467177d6cd54eb6d4988cbf035216bd6088a337ee752e08a4
|
|
| MD5 |
7cd911354027bf2f2e3612732195eec8
|
|
| BLAKE2b-256 |
2fcc8a5747313e7ca5ed5574526d1883585ba3b3a383887d5ea3af5e7c37875c
|