aviconv-aixm
AIXM 5.1.1 and 5.2 reader (write stays 5.1.1) for full AIP
datasets, plus GeoJSON export, AIRAC-cycle diff, and a temporality
flattener that materialises a snapshot at any date T.
Part of the aviconv monorepo.
Install
pip install aviconv-aixm
This pulls in aviconv-core (shared XML / coords / errors) and brings
the aviconv aixm … subcommands under the umbrella aviconv CLI.
Status
- v0.6.0 covers the AIP feature core: AirportHeliport, Runway, RunwayDirection, Navaid (VOR/DME/NDB/ILS/TACAN), DesignatedPoint, Airspace + AirspaceVolume, Route + RouteSegment, Procedure (envelope), Obstacle, Organisation, Unit.
- Version support: reads both AIXM 5.1.1 and 5.2 (
version="auto"by default, sniffed from the document's namespace) into the same typed model — no property renames between the two dialects across any modelled feature type. The writer stays 5.1.1-only; there is no version-conversion feature. See the docs for the full support matrix. - TaxiwayElement, ApronElement, full Procedure leg algebra, and the ADR-23.5.0 extension surface are deferred to a future release.
- Streaming reader (constant memory on 100MB+ datasets) via
lxml.iterparse. Writer streams vialxml.etree.xmlfile.
Library
from aviconv_aixm import (
read_aixm, read_aixm_dataset,
write_aixm,
to_geojson,
diff_datasets,
snapshot_at,
)
# Stream features one at a time (constant memory on 100MB+ inputs)
for feature in read_aixm("aip.xml"):
print(feature.gml_identifier.value, type(feature).__name__)
# Materialise the whole dataset (random access for diff/flatten)
ds = read_aixm_dataset("aip.xml")
print(len(ds.features), "features")
CLI
aviconv aixm parse aip.xml > aip.ndjson
aviconv aixm to-aixm aip.ndjson -o roundtrip.xml
aviconv aixm to-geojson aip.xml -o aip.geojson
aviconv aixm diff cycle_2603.xml cycle_2604.xml --format json
aviconv aixm flatten aip.xml --at 2026-05-09T00:00Z -o snapshot.xml
aviconv aixm validate aip.xml --strict
# --version [auto|5.1.1|5.2] on every read-side subcommand (not to-aixm):
aviconv aixm parse aip_5.2.xml --version 5.2 > aip.ndjson
Round-trip semantics
AIXM round-trip is field-level, not byte-stable: namespace prefix
choices and gml:id values are intentionally not preserved on read.
gml:identifier (the stable feature ID) is preserved, as are all
modelled feature properties and time-slice metadata.
Licence
MIT. The vendored AIXM 5.1.1 / GML 3.2.1 / ISO 19139 / xlink schemas
retain their upstream licences — see LICENSES/.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aviconv_aixm-0.6.0.tar.gz.
File metadata
- Download URL: aviconv_aixm-0.6.0.tar.gz
- Upload date:
- Size: 406.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
285a7f615c1dd3838fd32199157a460d85a4adb284f0327cf74266f6295b499d
|
|
| MD5 |
49748e4095675ff2272baed9cb21435a
|
|
| BLAKE2b-256 |
235edda02b689f964315226bb208892f7cf3741ace51d74e9d73162e23456ef4
|
Provenance
The following attestation bundles were made for aviconv_aixm-0.6.0.tar.gz:
Publisher:
release.yml on ams-mmd/aviconv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aviconv_aixm-0.6.0.tar.gz -
Subject digest:
285a7f615c1dd3838fd32199157a460d85a4adb284f0327cf74266f6295b499d - Sigstore transparency entry: 2385994649
- Sigstore integration time:
-
Permalink:
ams-mmd/aviconv@66b4cc7ef700f848734588c4ef0fe89252d5db09 -
Branch / Tag:
refs/tags/aviconv-aixm-v0.6.0 - Owner: https://github.com/ams-mmd
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@66b4cc7ef700f848734588c4ef0fe89252d5db09 -
Trigger Event:
push
-
Statement type:
File details
Details for the file aviconv_aixm-0.6.0-py3-none-any.whl.
File metadata
- Download URL: aviconv_aixm-0.6.0-py3-none-any.whl
- Upload date:
- Size: 441.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74f6a1a89e985ea46848250b0fdec7f6cefc37dfbfa176dd8dcdc8dce0f92f79
|
|
| MD5 |
163ae4fafe13452e6fe381b12efe825e
|
|
| BLAKE2b-256 |
8b2f64018205aa0b7a1aad24b6c4364c0cd56f403e9e7b48e1cc5d54ab00ecec
|
Provenance
The following attestation bundles were made for aviconv_aixm-0.6.0-py3-none-any.whl:
Publisher:
release.yml on ams-mmd/aviconv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aviconv_aixm-0.6.0-py3-none-any.whl -
Subject digest:
74f6a1a89e985ea46848250b0fdec7f6cefc37dfbfa176dd8dcdc8dce0f92f79 - Sigstore transparency entry: 2385994653
- Sigstore integration time:
-
Permalink:
ams-mmd/aviconv@66b4cc7ef700f848734588c4ef0fe89252d5db09 -
Branch / Tag:
refs/tags/aviconv-aixm-v0.6.0 - Owner: https://github.com/ams-mmd
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@66b4cc7ef700f848734588c4ef0fe89252d5db09 -
Trigger Event:
push
-
Statement type: