Skip to content

omnipy.components.isa.models.person_schema

ISA model representing a person in an investigation.

ISA denotes Investigation/Study/Assay metadata, represented here through ISA-JSON JSON-LD schema models.

CLASS DESCRIPTION
FieldType

JSON-LD type labels used for ISA person entities.

IsaPersonModel

Omnipy model wrapper for ISA person records.

IsaPersonSchema

Schema for people associated with ISA investigations.

FieldType

Bases: Enum


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

              

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

JSON-LD type labels used for ISA person entities.

ATTRIBUTE DESCRIPTION
Person

Marks a JSON object as an ISA person record.

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

    Attributes:
        Person: Marks a JSON object as an ISA person record.
    """

    Person = 'Person'

Person class-attribute instance-attribute

Person = 'Person'

IsaPersonModel

Bases: Model[IsaPersonSchema]


              flowchart BT
              omnipy.components.isa.models.person_schema.IsaPersonModel[IsaPersonModel]
              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.person_schema.IsaPersonModel
                                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.person_schema.IsaPersonModel href "" "omnipy.components.isa.models.person_schema.IsaPersonModel"
              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 person records.

Wraps :class:IsaPersonSchema so people can be validated and nested as Omnipy model values.

Source code in src/omnipy/components/isa/models/person_schema.py
class IsaPersonModel(Model[IsaPersonSchema]):
    """Omnipy model wrapper for ISA person records.

    Wraps :class:`IsaPersonSchema` so people can be validated and nested as
    Omnipy model values.
    """

    ...

IsaPersonSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.models.person_schema.IsaPersonSchema[IsaPersonSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.models.person_schema.IsaPersonSchema
                


              click omnipy.components.isa.models.person_schema.IsaPersonSchema href "" "omnipy.components.isa.models.person_schema.IsaPersonSchema"
            

Schema for people associated with ISA investigations.

ATTRIBUTE DESCRIPTION
firstName

Given name.

TYPE: str | None

lastName

Family name.

TYPE: str | None

email

Contact email for the person.

TYPE: pyd.EmailStr | None

affiliation

Organizational affiliation text.

TYPE: str | None

roles

Ontology terms describing investigation roles.

TYPE: list[ontology_annotation_schema.IsaOntologyReferenceModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA person schema parsing.

Source code in src/omnipy/components/isa/models/person_schema.py
class IsaPersonSchema(pyd.BaseModel):
    """Schema for people associated with ISA investigations.

    Attributes:
        firstName: Given name.
        lastName: Family name.
        email: Contact email for the person.
        affiliation: Organizational affiliation text.
        roles: Ontology terms describing investigation roles.
    """
    class Config:
        """Validation settings for ISA person schema parsing.

        Attributes:
            extra: Rejects keys not listed in the schema.
            use_enum_values: Converts enum members to raw 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')
    lastName: Optional[str] = None
    firstName: Optional[str] = None
    midInitials: Optional[str] = None
    email: Optional[pyd.EmailStr] = None
    phone: Optional[str] = None
    fax: Optional[str] = None
    address: Optional[str] = None
    affiliation: Optional[str] = None
    roles: Optional[List[ontology_annotation_schema.IsaOntologyReferenceModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

address class-attribute instance-attribute

address: str | None = None

affiliation class-attribute instance-attribute

affiliation: str | None = None

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | None = None

email class-attribute instance-attribute

email: pyd.EmailStr | None = None

fax class-attribute instance-attribute

fax: str | None = 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')

firstName class-attribute instance-attribute

firstName: str | None = None

lastName class-attribute instance-attribute

lastName: str | None = None

midInitials class-attribute instance-attribute

midInitials: str | None = None

phone class-attribute instance-attribute

phone: str | None = None

roles class-attribute instance-attribute

Config

Validation settings for ISA person schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys not listed in the schema.

use_enum_values

Converts enum members to raw strings.

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

    Attributes:
        extra: Rejects keys not listed in the schema.
        use_enum_values: Converts enum members to raw 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