Automated data pipeline

Egypt Air Quality Warehouse

Hourly air quality and weather for eight Egyptian cities, extracted from Open-Meteo, modelled into a star schema, tested, and republished automatically by GitHub Actions. No servers, no manual steps.

Right now

Most recent observed hour per city, worst first. Forecast hours are excluded — every value here has actually been modelled for a time that has already passed.

Daily trend

The dashed line is the WHO 24-hour guideline of 15 µg/m³.

Daily rhythm

Average PM2.5 by hour of day, pooled across all observations, in Egyptian local time — so the peaks line up with when people are actually on the road rather than with UTC.

Data quality

Assertions run against the warehouse on every build. An error-level failure stops the pipeline, so this dashboard is never built from bad data.

Use the data

Everything is published as CSV at stable URLs. No key, no sign-up.

Load it in pandas
import pandas as pd

url = ("https://raw.githubusercontent.com/"
       "mazenelnaghy-code/egypt-air-quality/main/"
       "docs/data/mart_daily_city.csv")

df = pd.read_csv(url, parse_dates=["date_key"])
print(df.groupby("city_name").avg_pm2_5.mean())