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.0.tar.gz (42.7 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.0-py3-none-any.whl (50.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aviconv_met-0.3.0.tar.gz
  • Upload date:
  • Size: 42.7 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.0.tar.gz
Algorithm Hash digest
SHA256 c98fc18554f0a5b26fbb1f8cecfbd64ba38fffcc8648da8c048a34a634ebb3b7
MD5 276c4764449482b3d77dc8d5d9968ca2
BLAKE2b-256 8a03ed05243ac33c501c98f3382f6f86908731b578e95c289ec7e4ae793ac082

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ams-dev25/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.0-py3-none-any.whl.

File metadata

  • Download URL: aviconv_met-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 50.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7908df65676caae10e097783b7ca575f5dcddf73fd1a83d9118521542106bf18
MD5 84c71b7da48fbb4d668dd82efc012acf
BLAKE2b-256 fe33f2cc4d919c439a3720541306563c92904cab64066564fd3479942aa8c488

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ams-dev25/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