metar
Metar - a package to parse METAR-coded weather reports
What it is and what it does
Metar is a Python library for decoding METAR and SPECI reports—standardized coded weather observations used in aviation. It follows the World Meteorological Organization (WMO) specification and US Federal Meteorological Handbook conventions, extracting structured data like temperature, dew point, wind speed and direction, visibility, pressure, and weather phenomena from raw text reports. The library parses main-body groups and most US remark groups (cumulative precipitation, min/max temperature, peak wind, sea-level pressure), and accepts many international format variants.
The package has no external dependencies and installs as a pure Python wheel, making it lightweight and straightforward to integrate. It's tested against Python 3.10–3.14 and maintained actively on GitHub. You can use it to download and decode current METAR data from NOAA sources, build aviation weather dashboards, or analyze historical weather patterns for flight planning and meteorological research.
Use it for:
- Download and decode current METAR reports for specific airports using NOAA data sources.
- Extract structured weather data (temperature, wind, visibility) from raw METAR text for aviation applications.
- Build weather monitoring or flight-planning tools that parse and display decoded meteorological observations.
- Analyze historical METAR data to study weather patterns and trends for research or operational purposes.
- Validate or test METAR parsing logic in aviation software or weather APIs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses METAR and SPECI coded aviation weather reports into structured data, extracting temperature, wind, visibility, pressure, and other meteorological observations.
Yes. The package is actively maintained, has zero known vulnerabilities, installs with no dependencies, and solves a specific, well-defined problem (METAR parsing) that has few alternatives. It's suitable for aviation weather applications, research, and any project needing to decode standardized weather reports. The BSD license is permissive and poses no restrictions.
Install
metar on PyPI
pip
pip install metaruv
uv add metarpoetry
poetry add metarInstalling metar
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained as of 2026-07-20 with recent release activity.
License in practice
BSD License (permissive): you can use, modify, and distribute this package freely in commercial and private projects, provided you retain the copyright notice and disclaimer.
Quickstart
from metar.Metar import Metar
obs = Metar('METAR KEWR 111851Z VRB03G19KT 2SM 22/22 A2987')
print(obs.temp)
print(obs.wind_speed)
Requires Python 3.10 or later.
Verify before relying
- Whether the package handles all regional METAR variants beyond WMO and US conventions mentioned in the description.
- Real-world accuracy and completeness of parsed remarks groups across different reporting stations.
Package facts
| License | Copyright (c) 2004-2018, Tom Pollard All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 147 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 150,386/month — #10,965 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: metar-2.0.1-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
atcf-data-parserParses a-deck forecast data from the Automated…
permissive · top 15,000 on PyPI
eccodeslibeccodeslib provides Python bindings to decode…
unclear · top 5,000 on PyPI
earthkit-meteoComputes meteorological quantities (potential…
permissive · top 15,000 on PyPI
MetPyMetPy provides tools for reading, visualizing,…
permissive · top 15,000 on PyPI
FlightRadarAPIUnofficial Python SDK for querying…
permissive · top 15,000 on PyPI
meteostatMeteostat provides access to historical weather…
unclear · top 15,000 on PyPI
pdbufrpdbufr reads BUFR (Binary Universal Form for…
permissive · top 15,000 on PyPI
xradarXradar reads and writes weather radar data in…
permissive · top 15,000 on PyPI
cfgribcfgrib maps GRIB meteorological data files to…
permissive · top 5,000 on PyPI
env_canadaProvides async access to Environment Canada…
permissive · top 15,000 on PyPI