API Reference
=============

This section provides complete documentation for all public classes and functions.

Core API
--------

.. automodule:: x_zic
   :members:
   :undoc-members:
   :show-inheritance:

Core Module
-----------

Configuration
^^^^^^^^^^^^^

.. automodule:: x_zic.core.config
   :members:
   :undoc-members:

Models
^^^^^^

.. automodule:: x_zic.core.models
   :members:
   :undoc-members:

Loader
^^^^^^

.. automodule:: x_zic.core.loader
   :members:
   :undoc-members:

Parser Module
-------------

Base Parser
^^^^^^^^^^^

.. automodule:: x_zic.parser.base
   :members:
   :undoc-members:

Zone Parser
^^^^^^^^^^^

.. automodule:: x_zic.parser.zone
   :members:
   :undoc-members:

Rule Parser
^^^^^^^^^^^

.. automodule:: x_zic.parser.rule
   :members:
   :undoc-members:

Link Parser
^^^^^^^^^^^

.. automodule:: x_zic.parser.link
   :members:
   :undoc-members:

Regions Module
--------------

.. automodule:: x_zic.regions
   :members:
   :undoc-members:

Transitions Module
------------------

.. automodule:: x_zic.transitions
   :members:
   :undoc-members:

Calculator
^^^^^^^^^^

.. automodule:: x_zic.transitions.calculator
   :members:
   :undoc-members:

Geo Module
----------

.. automodule:: x_zic.geo
   :members:
   :undoc-members:

Analysis Module
---------------

.. automodule:: x_zic.analysis
   :members:
   :undoc-members:

Export Module
-------------

.. automodule:: x_zic.export
   :members:
   :undoc-members:

Data Types
----------

Zone
^^^^

.. autoclass:: x_zic.core.models.Zone
   :members:
   :undoc-members:

Rule
^^^^

.. autoclass:: x_zic.core.models.Rule
   :members:
   :undoc-members:

Link
^^^^

.. autoclass:: x_zic.core.models.Link
   :members:
   :undoc-members:

Transition
^^^^^^^^^^

.. autoclass:: x_zic.core.models.Transition
   :members:
   :undoc-members:

LeapSecond
^^^^^^^^^^

.. autoclass:: x_zic.core.models.LeapSecond
   :members:
   :undoc-members:

Exceptions
----------

.. autoexception:: x_zic.core.loader.FileNotFoundError
   :members:

.. autoexception:: x_zic.core.loader.ParseError
   :members: