Skip to main content

Bidirectional METAR/SPECI ↔ TAF ↔ SIGMET/AIRMET ↔ VAA/TCA ↔ IWXXM 3.0 converter.

Project description

aviconv-met

Bidirectional METAR / SPECI ↔ TAF ↔ SIGMET / AIRMET ↔ VAA / TCA ↔ IWXXM 3.0 converter — part of the aviconv monorepo.

pip install aviconv-met

ICAO mandated IWXXM (XML weather) for OPMET exchange in November 2020. Existing toolchains for it are vendor-locked or one-way. aviconv-met is the pip-installable, MIT-licensed, round-trip alternative.

Public surface

from aviconv_met import (
    Metar, Taf, Sigmet, Airmet, Vaa, Tca,
    parse_metar, format_metar,
    parse_taf, format_taf,
    parse_sigmet, format_sigmet,
    parse_advisory, format_advisory,
)
from aviconv_met.iwxxm import to_iwxxm, from_iwxxm

Frozen pydantic-v2 models for every report type, byte-stable text round-trip for all six message types, and XSD-validated IWXXM 3.0 emission with field-level round-trip on inbound IWXXM.

CLI

Mounted on the umbrella aviconv binary (provided by aviconv-core):

aviconv met parse <file>           # text → JSON
aviconv met format <file>          # JSON → text
aviconv met to-iwxxm <file>        # text → IWXXM 3.0 XML
aviconv met from-iwxxm <file>      # IWXXM XML → JSON or text
aviconv met validate <file>        # run validators

Each subcommand reads from - for stdin and writes stdout unless -o PATH. Exit codes: 0 ok, 1 parse error, 2 validation error, 3 schema error.

Round-trip semantics

  • Text round-trip (METAR/TAF/SIGMET/AIRMET/VAA/TCA): byte-stable — format_*(parse_*(text)) == text whenever the model came from parse_*.
  • IWXXM round-trip: field-level — from_iwxxm(to_iwxxm(report)) == report. GML IDs and namespace prefix choices are intentionally not preserved.

Licence

MIT for aviconv-met itself. Bundled WMO IWXXM 3.0 schemas are distributed under WMO open-data terms — see LICENSES/README.md.

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

aviconv_met-0.3.2.tar.gz (58.3 kB view details)

Uploaded Source

Built Distribution

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

aviconv_met-0.3.2-py3-none-any.whl (59.5 kB view details)

Uploaded Python 3

File details

Details for the file aviconv_met-0.3.2.tar.gz.

File metadata

  • Download URL: aviconv_met-0.3.2.tar.gz
  • Upload date:
  • Size: 58.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aviconv_met-0.3.2.tar.gz
Algorithm Hash digest
SHA256 b870621cbe9a4dc75586f41640eaa9c4ffe5ecb56c51ba9222e3330bd746231f
MD5 358661684966ae45e470da9990683416
BLAKE2b-256 1b5ea1848f242f6a5cd48e4ebe8b99d2f599a48ca2e7f90b49491a50818d4e39

See more details on using hashes here.

Provenance

The following attestation bundles were made for aviconv_met-0.3.2.tar.gz:

Publisher: release.yml on ams-mmd/aviconv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aviconv_met-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: aviconv_met-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 59.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aviconv_met-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 71cb49ee86378b396cecdf0688748ad5eb824a4fa0ea0cf1d33b4dd2fb48f1b2
MD5 652729467add45b0126e57bfca69957c
BLAKE2b-256 ee9c2145cdbe566fb8904e9faa362b10d5b74e77cd0e6ad1886fdf526b22a25e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aviconv_met-0.3.2-py3-none-any.whl:

Publisher: release.yml on ams-mmd/aviconv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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