Navigator / src / navigator / parse / iparse / __init__.py
__init__.py
Raw
"""This is the parse interface module for Navigator.

Interface:
    - IParse (abc.ABC): An abstract parse interface.
    - IParseGPSNav (IParse): A concrete GPS navigation parse interface.
    - IParseGPSObs (IParse): A concrete GPS observation parse interface.
    - IParseSP3GPS (IParse): A concrete GPS SP3 parse interface.

Example Usage:
    >>> from navigator.parse import IParseGPSNav, Parser
    >>> parser = Parser(iparser=IParseGPSNav())
    >>> parser.parse(filename=navigation_file_path)

Note:
    These interfaces are not meant to be instantiated directly. Instead, use the `Parser` class from the `navigator.parse` module.

See Also:
    - `navigator.parse.iparse.nav`: The interface module for parsing GNSS navigation data.
    - `navigator.parse.iparse.obs`: The interface module for parsing GNSS observation data.

References:
    - Georinex: [https://pypi.org/project/georinex/](https://pypi.org/project/georinex/)

Todo:
    - Migrate the backend from `georinex` to `georust` with `pyo3`.
    - Add support for other GNSS systems. (Already done in `georust`)
"""

# A note to future developers:
# Design Principle: The python API should be same irrespective of the backend used.
from .base_iparse import IParse
from .nav.iparse_gps_nav import IParseGPSNav
from .obs.iparse_gps_obs import IParseGPSObs
from .sp3.iparse_sp3_gps import IParseSP3GPS
from .yuma_alm import IParseYumaAlm