:py:mod:`medkit.core.data_item`
===============================

.. py:module:: medkit.core.data_item


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

Classes
~~~~~~~

.. autoapisummary::

   medkit.core.data_item.IdentifiableDataItem
   medkit.core.data_item.IdentifiableDataItemWithAttrs




.. py:class:: IdentifiableDataItem


   Bases: :py:obj:`typing_extensions.Protocol`

   
   Base class for protocol classes.

   Protocol classes are defined as::

       class Proto(Protocol):
           def meth(self) -> int:
               ...

   Such classes are primarily used with static type checkers that recognize
   structural subtyping (static duck-typing).

   For example::

       class C:
           def meth(self) -> int:
               return 0

       def func(x: Proto) -> int:
           return x.meth()

       func(C())  # Passes static type check

   See PEP 544 for details. Protocol classes decorated with
   @typing.runtime_checkable act as simple-minded runtime protocols that check
   only the presence of given attributes, ignoring their type signatures.
   Protocol classes can be generic, they are defined as::

       class GenProto(Protocol[T]):
           def meth(self) -> T:
               ...















   ..
       !! processed by numpydoc !!
   .. py:attribute:: uid
      :type: str

      


.. py:class:: IdentifiableDataItemWithAttrs


   Bases: :py:obj:`typing_extensions.Protocol`\ [\ :py:obj:`IdentifiableDataItemType`\ ]

   .. py:attribute:: attrs
      :type: Iterable[IdentifiableDataItemType]

      


