Skip to main content

pymetaf

Python package PyPI version contributions welcome

This is a python package to parse raw METAR and TAF report text.

Installation

  1. Clone this repository and run $ python setup.py install in your terminal.
  2. Use Pip $ pip install pymetaf

Usage

Parse METAR text

>>> from pymetaf import parse_text

>>> text = 'METAR ZYAS 250500Z 21009G14MPS 6000 NSC 18/08 Q1018 NOSIG'

>>> parse_text(text, 2021, 5)
{'kind': 'METAR',
 'icao': 'ZYAS',
 'datetime': '2021-05-25T05:00:00+00:00',
 'wind_direction': 210,
 'wind_direction_units': 'degree',
 'wind_speed': 9,
 'wind_speed_units': 'm/s',
 'gust': 14,
 'wind_direction_range': None,
 'cavok': False,
 'visibility': 6000,
 'visibility_units': 'm',
 'temperature': 18,
 'dew_temperature': 8,
 'temperature_units': 'degree C',
 'qnh': 1018,
 'qnh_units': 'hPa',
 'cloud': [{'cloud_mask': 0,
   'cloud_height': None,
   'cloud_height_units': 'm',
   'cloud_type': None}],
 'weather': ['Clear Sky'],
 'auto': False}

Validate METAR format

🎉 100% Detection Rate - Validated on 120,727 real-world anomalous METAR reports!

>>> from pymetaf import validate_metar

>>> # Valid METAR
>>> metar = "METAR ZBAA 311400Z 01002MPS CAVOK 14/12 Q1009 NOSIG="
>>> is_valid, error_msg = validate_metar(metar)
>>> print(is_valid)
True

>>> # Invalid METAR (wrong QNH format)
>>> metar = "METAR ZBTJ 290200Z 35009MPS CAVOK M04/M27 Q102NOSIG="
>>> is_valid, error_msg = validate_metar(metar)
>>> print(is_valid)
False
>>> print(error_msg)
Invalid QNH format: Q102NOSIG

>>> # Strict mode (no RMK allowed)
>>> metar_with_rmk = "METAR RCMQ 230900Z 25008KT 9999 FEW010 Q1009 NOSIG RMK A2982="
>>> is_valid, error_msg = validate_metar(metar_with_rmk, strict_mode=True)
>>> print(is_valid)
False
>>> print(error_msg)
RMK remarks section not allowed in strict mode

The validator can detect 30+ types of format errors including:

  • Missing/invalid report type, ICAO code, time group
  • Wind group errors (format, spacing, units)
  • QNH format errors
  • Invalid characters and line breaks
  • Spelling errors (EMPO, ECMG, NOSI, OSIG, etc.)
  • RMK section anomalies
  • And many more...

Enjoy it!

Metadata

Release files for pymetaf 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymetaf 1.1.1
File Size Uploaded
pymetaf-1.1.1.tar.gz 25.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymetaf 1.1.1
File Interpreter ABI Platform
pymetaf-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 50.6 kB

Release files / pymetaf-1.1.1.tar.gz

Download URL pymetaf-1.1.1.tar.gz
Size 25.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2bff05dc2ffc32618e8b6d87c62629ba9e45b192dcbcf2b870bfdfab13603d79
BLAKE2b-256 checksum
How to use checksums
0d8cb1524c8b1c1f0ce2611113c0029ce92641f9b5b4a15d0066dc94d67cfb6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.24

Release files / pymetaf-1.1.1-py3-none-any.whl

Download URL pymetaf-1.1.1-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89de86a756a27ecda3e133fba886c2b6afd306f35f3c9bc4fa56fd2feec03610
BLAKE2b-256 checksum
How to use checksums
72884e8b038fa08d777c41620e9b517977efe2c8603c76facf199cdb2e54d629
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.24

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page