medkit.core.data_item
=====================

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


Classes
-------

.. autoapisummary::

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


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

.. 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]


