Metadata-Version: 2.4
Name: aviconv-core
Version: 0.0.2
Summary: Shared utilities for the aviconv aviation-data converter family: coordinates, AIRAC dates, XML helpers, CLI dispatcher.
Project-URL: Homepage, https://github.com/ams-dev25/aviconv
Project-URL: Documentation, https://ams-dev25.github.io/aviconv/
Project-URL: Source, https://github.com/ams-dev25/aviconv
Project-URL: Issues, https://github.com/ams-dev25/aviconv/issues
Author: aviconv contributors
License: MIT
Keywords: airac,aixm,aviation,coordinates,fixm,icao,notam
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: click>=8.1
Requires-Dist: lxml>=5.2
Requires-Dist: pyproj>=3.6
Requires-Dist: python-dateutil>=2.9
Requires-Dist: xmlschema>=3.3
Description-Content-Type: text/markdown

# aviconv-core

Shared utilities for the [`aviconv`](https://github.com/ams-dev25/aviconv) family of
aviation-data converters.

This package is the foundation that the format-specific converters
(`aviconv-notam`, `aviconv-fpl`, `aviconv-met`, `aviconv-aixm`) build on. It
intentionally has a small surface area:

- `aviconv_core.coords` — DMS / decimal / signed-decimal coordinate parsing and
  formatting, plus projection helpers via `pyproj`.
- `aviconv_core.airac` — AIRAC cycle math (cycle ↔ effective date, current
  cycle, next/previous cycle).
- `aviconv_core.xml_utils` — lxml helpers, namespace registry, and a cached
  XML-Schema (XSD) loader for validating AIXM / FIXM / IWXXM output.
- `aviconv_core.errors` — typed exception hierarchy used across the family.
- `aviconv_core.cli` — `aviconv` console-script entry point that dispatches to
  format-specific sub-commands installed by sibling packages.

## Install

```bash
pip install aviconv-core
```

## Quick examples

```python
from aviconv_core import coords, airac

coords.parse_lat("503000N")     # 50.5
coords.parse_lon("0001500W")    # -0.25

airac.current_cycle().identifier  # e.g. "2605"
airac.cycle_for_date("2026-05-07").effective_date.isoformat()
```

## License

MIT.
