Skip to main content

A modern and intuitive calendar interface for visualizing your DAG schedules in Apache Airflow.

Project description

📅 Airflow Calendar

PyPI version License Downloads PyPI - Python Version Airflow Airflow

A modern and intuitive calendar interface for visualizing your DAG schedules in Apache Airflow. Transform complex cron expressions into a clear and searchable time grid inspired by the Google Calendar experience.

Airflow Calendar GIF


🎯 Why Airflow Calendar?

Have you ever felt lost trying to keep track of your Airflow DAG schedules?

When managing complex environments with dozens of DAGs, each with different execution requirements, losing control of your schedule is common.

While Airflow provides features to visualize the execution history of individual DAGs, it lacks a "global" view to see all scheduled DAGs at once.

This is where Airflow Calendar comes in. It provides a visual timeline of all your DAG schedules, allowing you to see at a glance when each DAG is set to run, identify potential overlaps, avoid resource conflicts, and manage concurrency and dependencies effectively.

You can check more details about the project in the Medium article.

✨ Key Features

  • Timeline View: Visualize all your DAG schedules in clear monthly, weekly, or daily grids, making it easy to spot execution windows and potential load spikes.
  • Smart Info-Popup: Instant access to critical DAG run details upon clicking an event.
    • Displays Execution Time, Cron Expression, Estimated Duration, and Stats History (Last 5 runs).
  • Color-Coded Status: Immediate visual identification of success, failure, or "no-run" states through dynamic colors.
  • Personalized background colors: Choose the background colors of your events, making it easier to identify your DAGs.
  • Native Deep Linking: Directly jump to the native Airflow Grid View for any specific DAG with a single click.

🚀 Installation

The recommended way to install Airflow Calendar is via pip. In your environment where Airflow is installed, run the following command:

pip install airflow-calendar

Otherwise, you can also clone the repository and install it manually by moving the airflow_calendar directory to your Airflow plugins folder.

Note: You may need to restart your Airflow Webserver after installation for the plugin to be picked up.

If everything is set up correctly, you should see a new "Calendar" option under the "Browse" menu in the Airflow UI:

Calendar Menu Option

⚙️ Configuration & Permissions

If the plugin is loaded but the Calendar option is not visible under the Browse menu, you likely need to grant permissions to your user role:

  1. Navigate to Security > List Roles.
  2. Edit your specific role (e.g., Admin, Op, or Viewer).
  3. Add the permission: menu access on Calendar.
  4. Save and refresh the page.

🔍 Troubleshooting

If the "Calendar" option still doesn't show up in the menu:

  • Check Plugin Status: Go to Admin > Plugins. You should see airflow_calendar listed there.
  • Logs: If it's not listed, check your webserver logs.
  • CLI: Run airflow plugins in your terminal to verify if the package was loaded correctly into the environment and check for any errors during loading.

🛠️ Roadmap

This project is in its early stages. Upcoming features include:

  • Airflow 3 Compatibility: Support for the next generation of Airflow.
  • Dynamic Styling: Background colors for events based on DAG tags.
  • Search functionality: Quickly find specific events within the calendar.

🤝 Contributing

This project is open to contributions! Whether it's reporting a bug, suggesting a feature, or submitting a Pull Request:

  1. Open an issue to discuss the change you wish to make.
  2. Fork the repository and create your feature branch.
  3. Commit your changes with clear descriptions.
  4. Push to the branch and open a Pull Request.

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

airflow_calendar-0.9.1.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

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

airflow_calendar-0.9.1-py3-none-any.whl (114.7 kB view details)

Uploaded Python 3

File details

Details for the file airflow_calendar-0.9.1.tar.gz.

File metadata

  • Download URL: airflow_calendar-0.9.1.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.9

File hashes

Hashes for airflow_calendar-0.9.1.tar.gz
Algorithm Hash digest
SHA256 33c75bd45c9f1e63961f3b188509363e3d0add2f7fc37bede3883b316ea6cb33
MD5 73ed6b95860844e1f74c1c7895654a4c
BLAKE2b-256 4f7e57a1b1f1940dabf2b21ae57a64e10016220bffe0fe243a4cb2fe48f2057e

See more details on using hashes here.

File details

Details for the file airflow_calendar-0.9.1-py3-none-any.whl.

File metadata

File hashes

Hashes for airflow_calendar-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3097f1acd7150abf2ed457ba21985161273ec0e67be6be5a813f2efba12c895d
MD5 710bcfaa086df3447ae49a512787b95a
BLAKE2b-256 9e181431e0277d6b8601f61dd147c20064df6849da55f7f18b30583ee8501da3

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