"""This is the parse module for Navigator. This module provides classes for parsing data related to GNSS navigation. The main class is `Parser`, and the interface classes are in the `iparse` module. Design Pattern: - Builder: The `Parser` class is a builder class for the `IParse` interface. Interface Available: - IParse: An abstract interface for parsing GNSS navigation data. - IParseGPSNav: A concrete interface for parsing GPS navigation data. - IParseGPSObs: A concrete interface for parsing GPS observation data. - IParseSP3GPS: A concrete interface for parsing GPS SP3 data. Example Usage: >>> from navigator.parse import Parser, IParseGPSNav >>> parser = Parser(interface=IParseGPSNav()) >>> parser.parse(filename=navigation_file_path) Note: To parse data, instantiate the `Parser` class and call the `parse` method. See Also: - `navigator.parse.iparse`: The interface module for parsing GNSS navigation data. References: - 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`) Examples: >>> # Add usage examples here. """ from .base_parse import Parser from .iparse import IParse, IParseGPSNav, IParseGPSObs, IParseSP3GPS, IParseYumaAlm