API
===

.. module:: protean

This part of the documentation covers all the interfaces of Protean. For parts where Protean depends on external
libraries, we document the most important right here and provide links to the canonical documentation.

Core Domain
-----------

.. autoclass:: Domain
    :members:
    :inherited-members:

Domain Elements
---------------

.. autoclass:: BaseAggregate
    :members:
    :inherited-members:

Configuration
-------------

.. autoclass:: protean.Config
    :members:

Exceptions
----------

.. automodule:: protean.exceptions
    :members:
