:py:mod:`core.model.plugin`
===========================

.. py:module:: core.model.plugin

.. autodoc2-docstring:: core.model.plugin
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`Plugin <core.model.plugin.Plugin>`
     - .. autodoc2-docstring:: core.model.plugin.Plugin
          :summary:

API
~~~

.. py:class:: Plugin(logger: logging.Logger)
   :canonical: core.model.plugin.Plugin

   Bases: :py:obj:`abc.ABC`

   .. autodoc2-docstring:: core.model.plugin.Plugin

   .. rubric:: Initialization

   .. autodoc2-docstring:: core.model.plugin.Plugin.__init__

   .. py:attribute:: name
      :canonical: core.model.plugin.Plugin.name
      :type: str
      :value: None

      .. autodoc2-docstring:: core.model.plugin.Plugin.name

   .. py:attribute:: is_flat
      :canonical: core.model.plugin.Plugin.is_flat
      :type: bool
      :value: False

      .. autodoc2-docstring:: core.model.plugin.Plugin.is_flat

   .. py:method:: hydrate(context: core.model.context.Context) -> core.model.context.Context
      :canonical: core.model.plugin.Plugin.hydrate
      :abstractmethod:

      .. autodoc2-docstring:: core.model.plugin.Plugin.hydrate

   .. py:method:: add_result(name: str, value: polyconf.core.typing_.PrimitiveType | core.model.datum.Datum, context: core.model.context.Context, source: str = '') -> None
      :canonical: core.model.plugin.Plugin.add_result

      .. autodoc2-docstring:: core.model.plugin.Plugin.add_result

   .. py:method:: expand_implicit_nesting(name: str, value: polyconf.core.typing_.PrimitiveType) -> tuple[str, polyconf.core.typing_.PrimitiveType]
      :canonical: core.model.plugin.Plugin.expand_implicit_nesting

      .. autodoc2-docstring:: core.model.plugin.Plugin.expand_implicit_nesting
