A custom Apache Airflow plugin to integrate a React UI
Project description
Apache Airflow Drag-and-Drop Plugin 🚀
The Apache Airflow Drag-and-Drop Plugin enhances the Apache Airflow UI by allowing users to create and manage workflows using a drag-and-drop interface.
This plugin simplifies the process of creating DAGs (Directed Acyclic Graphs) by providing an intuitive visual interface. 🎉
Features ✨
✅ Drag-and-Drop Interface – Easily create and modify DAGs visually.
✅ Predefined Templates – Use templates for common workflows.
✅ Custom Operators – Extend the palette with custom operators.
✅ Real-Time Validation – Validate workflows before deployment.
✅ Export DAG Code – Save workflows as .py file.
Installation 🛠️
🔹 For Non-Dockerized Airflow Setup
1️⃣ Install the Plugin via pip:
pip install apache-airflow-dragdrop-plugin
2️⃣ Restart Airflow Services:
airflow webserver --reload
airflow scheduler --daemon
3️⃣ Access the Plugin:
Open the Airflow UI and navigate to the "Drag-and-Drop" tab.
🐳 For Dockerized Airflow Setup
Option 1️⃣: Add the Plugin to requirements.txt
- Add the following line to your
requirements.txtfile:apache-airflow-dragdrop-plugin - Rebuild your Docker image:
docker-compose build -t your-image-name
- Restart your Docker containers:
docker-compose up -d
Option 2️⃣: Install the Plugin Directly Inside the Running Container
- Install the plugin inside the running Airflow container:
docker exec -it <container_id> pip install apache-airflow-dragdrop-plugin
- Restart the Airflow webserver and scheduler inside the container:
docker exec -it <container_id> airflow webserver --reload docker exec -it <container_id> airflow scheduler --daemon
- If needed, restart the container:
docker restart <container_id>
Usage 🖥️
🚀 Creating a New Workflow
1️⃣ Open the Drag-and-Drop Interface : Navigate to the "Drag-and-Drop" tab in the Airflow UI.
2️⃣ Add Nodes : Drag operators onto the canvas and connect them.
3️⃣ Configure Nodes : Click on each node to set its properties.
4️⃣ Validate and Save : Ensure your workflow is error-free and save it as a DAG.
Contributing
We welcome contributions! Follow these steps:
1️⃣ Fork the repository
2️⃣ Create a new branch for your feature or bugfix.
3️⃣ Submit a pull request with a detailed description.
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Support
If you encounter any issues or have questions, please open an issue on our GitHub repository.
Acknowledgments
Special thanks to the Apache Airflow community for their support and inspiration.
Connect with Us
https://www.linkedin.com/in/akshaythakare3
Project details
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_dragdrop_plugin-1.1.4.tar.gz.
File metadata
- Download URL: apache_airflow_dragdrop_plugin-1.1.4.tar.gz
- Upload date:
- Size: 226.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce9d128181543989015d5ac1e5fc09c213d196c8904618ea69e79103c617d7e4
|
|
| MD5 |
d2698f38c367d3371712c9db2f07c39c
|
|
| BLAKE2b-256 |
de39fc61c102b610dd3a9d945791d75587a90374607295af90587f049a73e37a
|
File details
Details for the file apache_airflow_dragdrop_plugin-1.1.4-py3-none-any.whl.
File metadata
- Download URL: apache_airflow_dragdrop_plugin-1.1.4-py3-none-any.whl
- Upload date:
- Size: 227.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ec5d3b2be646f4095d1aca5a5c8b6e125606a4ce08f29229a7c220b52427b76
|
|
| MD5 |
47ccd54a3c1fa7911adb504e8c4524a4
|
|
| BLAKE2b-256 |
ea1c3581b539d46febbf062d0e3580665ce4c941c6ea289a931ad5f9732ceae6
|