Skip to main content

A custom Apache Airflow plugin to integrate a React UI

Project description

Apache Airflow Drag-and-Drop Plugin 🚀

alt text

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

  1. Add the following line to your requirements.txt file:
    apache-airflow-dragdrop-plugin
    
  2. Rebuild your Docker image:
    docker-compose build -t your-image-name
    
  3. Restart your Docker containers:
    docker-compose up -d
    

Option 2️⃣: Install the Plugin Directly Inside the Running Container

  1. Install the plugin inside the running Airflow container:
    docker exec -it <container_id> pip install apache-airflow-dragdrop-plugin
    
  2. 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
    
  3. 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

akshay.thakare031@gmail.com

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

apache_airflow_dragdrop_plugin-1.1.4.tar.gz (226.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apache_airflow_dragdrop_plugin-1.1.4-py3-none-any.whl (227.0 kB view details)

Uploaded Python 3

File details

Details for the file apache_airflow_dragdrop_plugin-1.1.4.tar.gz.

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.4.tar.gz
Algorithm Hash digest
SHA256 ce9d128181543989015d5ac1e5fc09c213d196c8904618ea69e79103c617d7e4
MD5 d2698f38c367d3371712c9db2f07c39c
BLAKE2b-256 de39fc61c102b610dd3a9d945791d75587a90374607295af90587f049a73e37a

See more details on using hashes here.

File details

Details for the file apache_airflow_dragdrop_plugin-1.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3ec5d3b2be646f4095d1aca5a5c8b6e125606a4ce08f29229a7c220b52427b76
MD5 47ccd54a3c1fa7911adb504e8c4524a4
BLAKE2b-256 ea1c3581b539d46febbf062d0e3580665ce4c941c6ea289a931ad5f9732ceae6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page