AirBase

An easy downloader for air quality data provided by the European Environment Agency.
https://github.com/johnpaton/airbase

Category: Natural Resources
Sub Category: Air Quality

Keywords

air-quality airbase data python

Keywords from Contributors

aerocom aerosol climate-science earth-observation model-evaluation

Last synced: about 2 hours ago
JSON representation

Repository metadata

🌬 An easy downloader for the AirBase air quality data.

README.md

PyPI version
Downloads
CI/CD
Documentation Status
pre-commit
Code style: Ruff
Checked with mypy

🌬 AirBase

An easy downloader for air quality data provided by the European Environment Agency (EEA).

The data is available for download at
the portal, but
the interface makes it a bit time consuming to do bulk downloads. Hence, an easy
Python-based interface.

Read the full documentation at https://airbase.readthedocs.io.

🔌 Installation

To install airbase, simply run

$ pip install airbase

🚀 Getting Started

🗺 Get info about available countries and pollutants:

>>> import airbase
>>> client = airbase.AirbaseClient()
>>> client.countries
frozenset({'LI', 'CY', 'IE', 'LV', 'BE', 'EE', ...})

>>> client.pollutants
frozenset({'Co', 'sum-PCB', 'PCB-26', 'HNO3', ...})


>>> client.search_pollutant("O3")
[{'poll': 'O3', 'id': 7}, {'poll': 'NO3', 'id': 46}, ...]

🗂 Request download links from the server and save the resulting Parquet files into a directory:

>>> r = client.request("Verified", "NL", "DE", poll=["NO3", "NO3- in PM2.5", "NO3- in PM10"])
>>> r.download(dir="data", skip_existing=True)
summary : 100%|█████| 2/2 [00:00<00:00,  4.48requests/s]
URLs    : 100%|█████| 29.0/29.0 [00:00<00:00, 490URL/s]
download: 386kb [00:00, 570kb/s]

📦 Download the entire dataset (not for the faint of heart):

>>> r = client.request()
>>> r.download_to_directory("data")
summary : 100%|█████| 39/39 [00:15<00:00,  2.54requests/s]
URLs    : 100%|█████| 47.0k/47.0k [00:00<00:00, 77.7kURL/s]
download: 20.6Gb [54:36, 6.74Mb/s]

🌡 Don't forget to get the metadata about the measurement stations:

>>> client.download_metadata("data/metadata.csv")
Writing metadata to data/metadata.csv...

🚆 Command line interface

Historical data delivered between 2002 and 2012

$ airbase historical --help
Usage: airbase historical [OPTIONS]

  Historical Airbase data delivered between 2002 and 2012 before Air Quality
  Directive 2008/50/EC entered into force.

  Use -c/--country and -p/--pollutant to restrict the download specific countries and pollutants, e.g.
  - download only Norwegian, Danish and Finish sites
    airbase historical -c NO -c DK -c FI
  - download only SO2, PM10 and PM2.5 observations
    airbase historical -p SO2 -p PM10 -p PM2.5

  Use -C/--city to further restrict the download to specific cities, e.g.
  - download only PM10 and PM2.5 from Valletta, the Capital of Malta
    airbase historical -C Valletta -c MT -p PM10 -p PM2.5

Options:
  -c, --country [AD|AL|AT|...]
  -p, --pollutant [k|V|NT|...]
  -C, --city TEXT                 only from selected <cities>
  -F, --aggregation-type, --frequency [hourly|daily|other]
                                  only hourly data, daily data or other
                                  aggregation frequency
  -M, --metadata                  download station metadata
  --path PATH                     [default: data/historical]
  -n, --dry-run, --summary        Total download files/size, nothing will be
                                  downloaded.
  -O, --overwrite                 Re-download existing files.
  -q, --quiet                     No progress-bar.
  --help                          Show this message and exit.

Verified data from 2013 to 2024

$ airbase verified --help
Usage: airbase verified [OPTIONS]

  Verified data (E1a) from 2013 to 2024 reported by countries by 30 September
  each year for the previous year.

  Use -c/--country and -p/--pollutant to restrict the download specific countries and pollutants, e.g.
  - download only Norwegian, Danish and Finish sites
    airbase verified -c NO -c DK -c FI
  - download only SO2, PM10 and PM2.5 observations
    airbase verified -p SO2 -p PM10 -p PM2.5

  Use -C/--city to further restrict the download to specific cities, e.g.
  - download only PM10 and PM2.5 from Valletta, the Capital of Malta
    airbase verified -C Valletta -c MT -p PM10 -p PM2.5

Options:
  -c, --country [AD|AL|AT|...]
  -p, --pollutant [k|V|NT|...]
  -C, --city TEXT                 only from selected <cities>
  -F, --aggregation-type, --frequency [hourly|daily|other]
                                  only hourly data, daily data or other
                                  aggregation frequency
  -M, --metadata                  download station metadata
  --path PATH                     [default: data/verified]
  -n, --dry-run, --summary        Total download files/size, nothing will be
                                  downloaded.
  -O, --overwrite                 Re-download existing files.
  -q, --quiet                     No progress-bar.
  --help                          Show this message and exit.

Unverified data from the beginning of 2025

$ airbase unverified --help
Usage: airbase unverified [OPTIONS]

  Unverified data transmitted continuously (Up-To-Date/UTD/E2a) data from the
  beginning of 2025.

  Use -c/--country and -p/--pollutant to restrict the download specific countries and pollutants, e.g.
  - download only Norwegian, Danish and Finish sites
    airbase unverified -c NO -c DK -c FI
  - download only SO2, PM10 and PM2.5 observations
    airbase unverified -p SO2 -p PM10 -p PM2.5

  Use -C/--city to further restrict the download to specific cities, e.g.
  - download only PM10 and PM2.5 from Valletta, the Capital of Malta
    airbase unverified -C Valletta -c MT -p PM10 -p PM2.5

Options:
  -c, --country [AD|AL|AT|...]
  -p, --pollutant [k|V|NT|...]
  -C, --city TEXT                 only from selected <cities>
  -F, --aggregation-type, --frequency [hourly|daily|other]
                                  only hourly data, daily data or other
                                  aggregation frequency
  -M, --metadata                  download station metadata
  --path PATH                     [default: data/unverified]
  -n, --dry-run, --summary        Total download files/size, nothing will be
                                  downloaded.
  -O, --overwrite                 Re-download existing files.
  -q, --quiet                     No progress-bar.
  --help                          Show this message and exit.

🛣 Roadmap

  • Parallel CSV downloads Contributed by @avaldebe
  • CLI to avoid using Python all together Contributed by @avaldebe
  • Data wrangling module for AirBase output data

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 407
Total Committers: 4
Avg Commits per committer: 101.75
Development Distribution Score (DDS): 0.297

Commits in past year: 11
Committers in past year: 1
Avg Commits per committer in past year: 11.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Alvaro Valdebenito a****v@m****o 286
John Paton j****n@j****t 88
JohnPaton j****n@c****l 32
Heiko Klein h****n@m****o 1

Committer domains:


Issue and Pull Request metadata

Last synced: 7 months ago

Total issues: 26
Total pull requests: 68
Average time to close issues: 9 months
Average time to close pull requests: about 1 month
Total issue authors: 6
Total pull request authors: 3
Average comments per issue: 1.77
Average comments per pull request: 1.85
Merged pull request: 48
Bot issues: 0
Bot pull requests: 0

Past year issues: 5
Past year pull requests: 18
Past year average time to close issues: 12 days
Past year average time to close pull requests: 5 days
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 0.2
Past year average comments per pull request: 1.39
Past year merged pull request: 9
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/johnpaton/airbase

Top Issue Authors

  • JohnPaton (13)
  • avaldebe (9)
  • heikoklein (1)
  • omidnabavi (1)
  • b-kode (1)
  • charlienegri (1)

Top Pull Request Authors

  • avaldebe (38)
  • JohnPaton (28)
  • heikoklein (2)

Top Issue Labels

  • enhancement (9)
  • bug (2)
  • wontfix (1)

Top Pull Request Labels

  • enhancement (8)
  • bug (2)

Package metadata

pypi.org: airbase

An easy downloader for the AirBase air quality data.

  • Homepage:
  • Documentation: https://airbase.readthedocs.io
  • Licenses: MIT License
  • Latest release: 1.0.0 (published over 1 year ago)
  • Last Synced: 2026-06-11T13:01:39.208Z (3 days ago)
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 412 Last month
  • Rankings:
    • Dependent packages count: 7.31%
    • Forks count: 15.416%
    • Stargazers count: 18.529%
    • Downloads: 23.758%
    • Average: 26.702%
    • Dependent repos count: 68.496%
  • Maintainers (1)

Dependencies

docs/requirements.txt pypi
  • importlib_metadata *
  • sphinx >=4.2.0
  • sphinx_rtd_theme *
.github/workflows/cicd.yaml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pre-commit/action v2.0.3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi

Score: 10.182330676320705