MetPy
Collection of tools for reading, visualizing and performing calculations with weather data.
Decision gist · record as of 2026-08-14
Yes. MetPy is a mature, actively maintained library with no known vulnerabilities, low install friction, and a permissive license. It fills a clear niche for meteorological analysis in Python and integrates well with the broader scientific ecosystem. Install it if you work with weather or atmospheric data.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.10; nine runtime dependencies (matplotlib, numpy, pandas, pint, pooch, pyproj, scipy, traitlets, xarray) will be installed automatically.
- Low install friction with a pure-wheel distribution.
- Active maintenance with a recent release and ongoing repository activity.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows use in both open-source and commercial projects with minimal restrictions.
last release 2025-08-29 (350 days) · last repo commit 2026-08-11 · 1,435 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 221,366 downloads/mo, #9,281 on PyPI
Alternatives
Verify before relying
pip install metpy
import metpy.calc as mpcalc
from metpy.units import units
# Calculate lifted condensation level
lcl_pressure, lcl_temperature = mpcalc.lcl(pressure, temperature, dewpoint)- Whether pyproj is installed by default or only on demand for geographic projections
- Performance characteristics when working with large gridded datasets
- Specific example values for thermodynamic calculations in the library
What it is and what it does
MetPy is a Python library for meteorological and atmospheric science workflows, designed to bring GEMPAK-like functionality into the scientific Python ecosystem. It handles the three core tasks of weather analysis: reading meteorological data, performing thermodynamic and kinematic calculations, and visualizing results on maps and specialized diagrams such as Skew-T plots. The library is built on top of numpy, scipy, matplotlib, and xarray, so it integrates naturally with existing scientific Python workflows.
MetPy is intended for researchers, educators, and operational meteorologists who want to script weather analysis and visualization. Its design emphasizes modularity—you can extract individual calculations and reuse them in your own applications—and it prioritizes clear documentation and test coverage to ensure long-term maintainability. The package has been actively maintained since its first release in 2015 and follows semantic versioning, so code written for version 1.y will work on future 1.x releases.
Use it for
- Plot weather maps with geographic projections and overlay meteorological fields from gridded data
- Calculate thermodynamic indices from radiosonde or model output
- Create Skew-T log-P diagrams for analyzing atmospheric stability and convection
- Extract and reuse individual meteorological calculations in custom analysis scripts
- Visualize cross-sections of atmospheric data with proper coordinate transformations
- Process and analyze gridded datasets with numpy and xarray integration
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
MetPy is a mature, actively maintained library with no known vulnerabilities, low install friction, and a permissive license. It fills a clear niche for meteorological analysis in Python and integrates well with the broader scientific ecosystem. Install it if you work with weather or atmospheric data.
Install
metpy on PyPI
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a recent release and ongoing repository activity. Supports current Python versions (3.10–3.13).
Requires Python >= 3.10; nine runtime dependencies (matplotlib, numpy, pandas, pint, pooch, pyproj, scipy, traitlets, xarray) will be installed automatically.
License in practice
BSD-3-Clause permissive license allows use in both open-source and commercial projects with minimal restrictions.
Quickstart
pip install metpy
import metpy.calc as mpcalc
from metpy.units import units
# Calculate lifted condensation level
lcl_pressure, lcl_temperature = mpcalc.lcl(pressure, temperature, dewpoint)
Verify before relying
- Whether pyproj is installed by default or only on demand for geographic projections
- Performance characteristics when working with large gridded datasets
- Specific example values for thermodynamic calculations in the library
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 9 packagesmatplotlibnumpypandaspintpoochpyprojscipytraitletsxarray |
| Maintenance | Actively maintained 350 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 221,366 / month, #9,281 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: MatplotlibIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Atmospheric Science |
Evidence: metpy-1.7.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “atmospheric science tools”
- MetPyMetPy provides tools for reading, visualizing, and performing…
- arm-pyartPy-ART provides weather radar data processing, analysis, and…
- cf-unitscf-units provides units of measure as defined by the Climate and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also earthkit-meteo · arm-pyart · cmweather · metar · meteostat · earthkit-data · nc-time-axis · pygrib · pm4py · AEMET-OpenData