Skip to content

omnipy.components.isa.models.comment_schema

ISA model representing a comment in an investigation.

ISA means Investigation/Study/Assay, and ISA-JSON uses JSON-LD keys such as @id and @type.

CLASS DESCRIPTION
FieldType

JSON-LD type labels used for ISA comment entities.

IsaCommentModel

Omnipy model wrapper for ISA comment entries.

IsaCommentSchema

Schema for comments attached to ISA objects.

FieldType

Bases: Enum


              flowchart BT
              omnipy.components.isa.models.comment_schema.FieldType[FieldType]

              

              click omnipy.components.isa.models.comment_schema.FieldType href "" "omnipy.components.isa.models.comment_schema.FieldType"
            

JSON-LD type labels used for ISA comment entities.

ATTRIBUTE DESCRIPTION
Comment

Marks a JSON object as an ISA comment.

Source code in src/omnipy/components/isa/models/comment_schema.py
class FieldType(Enum):
    """JSON-LD type labels used for ISA comment entities.

    Attributes:
        Comment: Marks a JSON object as an ISA comment.
    """

    Comment = 'Comment'

Comment class-attribute instance-attribute

Comment = 'Comment'

IsaCommentModel

Bases: Model[IsaCommentSchema]


              flowchart BT
              omnipy.components.isa.models.comment_schema.IsaCommentModel[IsaCommentModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.isa.models.comment_schema.IsaCommentModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.isa.models.comment_schema.IsaCommentModel href "" "omnipy.components.isa.models.comment_schema.IsaCommentModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Omnipy model wrapper for ISA comment entries.

Wraps :class:IsaCommentSchema so comments can be used as nested Omnipy models in ISA documents.

Source code in src/omnipy/components/isa/models/comment_schema.py
class IsaCommentModel(Model[IsaCommentSchema]):
    """Omnipy model wrapper for ISA comment entries.

    Wraps :class:`IsaCommentSchema` so comments can be used as nested Omnipy
    models in ISA documents.
    """

    ...

IsaCommentSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.models.comment_schema.IsaCommentSchema[IsaCommentSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.models.comment_schema.IsaCommentSchema
                


              click omnipy.components.isa.models.comment_schema.IsaCommentSchema href "" "omnipy.components.isa.models.comment_schema.IsaCommentSchema"
            

Schema for comments attached to ISA objects.

ATTRIBUTE DESCRIPTION
name

Comment key or label.

TYPE: str | None

value

Comment text associated with name.

TYPE: str | None

CLASS DESCRIPTION
Config

Validation settings for ISA comment schema parsing.

Source code in src/omnipy/components/isa/models/comment_schema.py
class IsaCommentSchema(pyd.BaseModel):
    """Schema for comments attached to ISA objects.

    Attributes:
        name: Comment key or label.
        value: Comment text associated with ``name``.
    """
    class Config:
        """Validation settings for ISA comment schema parsing.

        Attributes:
            extra: Rejects unknown keys in input data.
            use_enum_values: Emits enum members as raw value strings.
        """

        extra = pyd.Extra.forbid
        use_enum_values = True

    field_id: Optional[str] = pyd.Field(None, alias='@id')
    field_context: Optional[str] = pyd.Field(None, alias='@context')
    field_type: Optional[FieldType] = pyd.Field(None, alias='@type')
    name: Optional[str] = None
    value: Optional[str] = None

field_context class-attribute instance-attribute

field_context: str | None = pyd.Field(None, alias='@context')

field_id class-attribute instance-attribute

field_id: str | None = pyd.Field(None, alias='@id')

field_type class-attribute instance-attribute

field_type: FieldType | None = pyd.Field(None, alias='@type')

name class-attribute instance-attribute

name: str | None = None

value class-attribute instance-attribute

value: str | None = None

Config

Validation settings for ISA comment schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects unknown keys in input data.

use_enum_values

Emits enum members as raw value strings.

Source code in src/omnipy/components/isa/models/comment_schema.py
class Config:
    """Validation settings for ISA comment schema parsing.

    Attributes:
        extra: Rejects unknown keys in input data.
        use_enum_values: Emits enum members as raw value strings.
    """

    extra = pyd.Extra.forbid
    use_enum_values = True

extra class-attribute instance-attribute

extra = pyd.Extra.forbid

use_enum_values class-attribute instance-attribute

use_enum_values = True