Skip to main content

A Python package for democratizing access to ambient air pollution data and predictive analytics.

Project description

Environmental Insights

PyPI version GitHub release Build status Tests

A Python package for democratizing access to ambient air pollution data and predictive analytics.


📖 Description

Environmental Insights provides easy-to-use functions to download, process, and analyze ambient air pollution and meteorological data over England.

  • Implements supervised machine-learning pipelines to predict hourly pollutant concentrations on a 1 km² grid.
  • Supplies both “typical day” aggregates (percentiles) and full hourly model outputs.
  • Includes geospatial utilities for mapping, interpolation, and uncertainty analysis.

⚙️ Installation

Install from PyPI:

pip install environmental-insights

Or from source:

git clone https://github.com/liamjberrisford/Environmental-Insights.git
cd Environmental-Insights
python -m build
pip install dist/environmental_insights-0.2.1b0-py3-none-any.whl

🔗 Dependencies

  • Python ≥ 3.10
  • geopandas ≥ 1.0.1
  • lightgbm
  • matplotlib
  • overpy
  • pandas
  • pyarrow
  • pyogrio
  • requests
  • scipy
  • shapely
  • jupyterlab ≥ 4.4.2
  • xarray ≥ 2025.4.0
  • netcdf4 ≥ 1.7.2
  • scikit-learn ≥ 1.6.1

📂 Data Sources

This package downloads and processes two primary CEDA datasets:

  1. Synthetic Hourly Air Pollution Prediction Averages for England (SynthHAPPE)
    Berrisford, L. (2025). Synthetic Hourly Air Pollution Prediction Averages for England (SynthHAPPE). NERC EDS Centre for Environmental Data Analysis.
    DOI: 10.5285/4cbd9c53ab07497ba42de5043d1f414b

    Representative “typical day” profiles of NO₂, NO, NOₓ, O₃, PM₁₀, PM₂.₅ and SO₂ on a 1 km² grid, with 5th, 50th & 95th percentiles.

  2. Machine Learning for Hourly Air Pollution Prediction in England (ML-HAPPE)
    Berrisford, L. (2025). Machine Learning for Hourly Air Pollution Prediction in England (ML-HAPPE). NERC EDS Centre for Environmental Data Analysis.
    DOI: 10.5285/fc735f9878ed43e293b85f85e40df24d

    Full-year (2018) hourly modelled concentrations of NO₂, NO, NOₓ, O₃, PM₁₀, PM₂.₅ and SO₂ on a 1 km² grid, including 5th, 50th & 95th percentiles and underlying training data.


For full examples, see the Jupyter-Book tutorial in book/tutorial_environmental_insights.ipynb.

📚 Documentation

Build and view locally:

jupyter-book build book/

Then open book/_build/html/index.html in your browser.
Highlights:

  • API Reference: book/docs/api/environmental_insights/
  • Tutorial Notebook: book/tutorial_environmental_insights.ipynb

The documentation is also avaiable via the GitHub Pages Site


✅ Testing

Run the full test suite:

pytest

Integration and unit tests are under tests/.


🤝 Contributing

Contributions and bug-reports are very welcome! Please see CONTRIBUTING.md for details on:

  • Code style
  • Pull request process
  • Issue reporting

📑 Citation

If you use Environmental Insights in your work, please cite:

Berrisford, L. J. (2025). Environmental Insights: Democratizing access to ambient air pollution data and predictive analytics (Version 0.2.1b0) [Software]. GitHub. https://github.com/liamjberrisford/Environmental-Insights

Also cite the underlying datasets:

  • Berrisford, L. (2025). SynthHAPPE: Synthetic Hourly Air Pollution Prediction Averages for England. NERC EDS CEDA. DOI: 10.5285/4cbd9c53ab07497ba42de5043d1f414b
  • Berrisford, L. (2025). ML-HAPPE: Machine Learning for Hourly Air Pollution Prediction in England. NERC EDS CEDA. DOI: 10.5285/fc735f9878ed43e293b85f85e40df24d

📜 License

This project is released under the GPL-3.0-or-later.

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

environmental_insights-0.2.10.tar.gz (24.3 MB view details)

Uploaded Source

Built Distribution

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

environmental_insights-0.2.10-py3-none-any.whl (24.1 MB view details)

Uploaded Python 3

File details

Details for the file environmental_insights-0.2.10.tar.gz.

File metadata

  • Download URL: environmental_insights-0.2.10.tar.gz
  • Upload date:
  • Size: 24.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for environmental_insights-0.2.10.tar.gz
Algorithm Hash digest
SHA256 36dab0d491aa102c09e094d977670694c2975a275a3e03e99a2fb30c07e446c3
MD5 acfb8e6d15b06ed52c619e304635146c
BLAKE2b-256 29347ad3b7c771bbb5edd4a27d00025abb2390bc856d96e9d7adb392051a4b44

See more details on using hashes here.

File details

Details for the file environmental_insights-0.2.10-py3-none-any.whl.

File metadata

File hashes

Hashes for environmental_insights-0.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1bcb09f96d7b5bd23082ed6cbb74736de722d8d2a32596d49c42dc48db8df348
MD5 a62c8dbb64d73b7d08699c8259bf7070
BLAKE2b-256 927c470b474deec053dac3590538af9929ca7976940a948f90f6bf9c60418757

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