Skip to content

omnipy.components.isa

ISA-Tab component package providing Investigation, Study, and Assay

models and datasets for working with ISA-Tab structured metadata.

MODULE DESCRIPTION
datasets

Datasets for ISA-JSON documents and flattened ISA-JSON records.

flows

Flows for transforming ISA-JSON datasets into flattened tabular-like structures.

models
CLASS DESCRIPTION
FlattenedIsaJsonDataset

Dataset containing flattened ISA-JSON records.

FlattenedIsaJsonModel
IsaAssayJsonSchema

Schema describing an assay block in ISA-JSON.

IsaCommentSchema

Schema for comments attached to ISA objects.

IsaDataSchema

Schema for a data file entry in an ISA assay.

IsaFactorSchema

Schema for an experimental factor defined in a study.

IsaFactorValueSchema

Schema for values assigned to study factors.

IsaInvestigationSchema

Schema for an ISA investigation document.

IsaJsonDataset

Dataset containing validated ISA-JSON documents.

IsaJsonModel

Union model that accepts both common ISA investigation shapes.

IsaMaterialAttributeSchema

Schema for material attribute categories in ISA.

IsaMaterialAttributeValueSchema

Schema for assigned material attribute values.

IsaMaterialSchema

Schema for non-sample materials in ISA studies.

IsaOntologyReferenceSchema

Schema for ontology terms referenced in ISA metadata.

IsaOntologySourceReferenceSchema

Schema for ontology source references in ISA metadata.

IsaOrganizationSchema

Schema for organization entries referenced in ISA metadata.

IsaPersonSchema

Schema for people associated with ISA investigations.

IsaProcessOrProtocolApplicationSchema

Schema for process or protocol application steps in ISA workflows.

IsaProcessParameterValueSchema

Schema for protocol parameter values applied in process steps.

IsaProtocolParameterSchema

Schema for protocol parameters used by ISA process steps.

IsaProtocolSchema

Schema for protocols referenced by ISA process workflows.

IsaPublicationSchema

Schema for publication metadata linked to ISA investigations.

IsaSampleSchema

Schema for sample entities in ISA study materials.

IsaSourceSchema

Schema for source materials in ISA study definitions.

IsaStudyGroupSchema

Schema for study groups used to organize related samples.

IsaStudySchema

Schema for study entries inside an ISA investigation.

FUNCTION DESCRIPTION
flatten_isa_json

Flatten ISA-JSON documents into tabular-like records.

FlattenedIsaJsonDataset

Bases: Dataset[FlattenedIsaJsonModel]


              flowchart BT
              omnipy.components.isa.FlattenedIsaJsonDataset[FlattenedIsaJsonDataset]
              omnipy.data.dataset.Dataset[Dataset]
              omnipy.data._mixins.display.DatasetDisplayMixin[DatasetDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._mixins.task.TaskDatasetMixin[TaskDatasetMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.dataset.Dataset --> omnipy.components.isa.FlattenedIsaJsonDataset
                                omnipy.data._mixins.display.DatasetDisplayMixin --> omnipy.data.dataset.Dataset
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.DatasetDisplayMixin
                

                omnipy.data._mixins.task.TaskDatasetMixin --> omnipy.data.dataset.Dataset
                
                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.dataset.Dataset
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.dataset.Dataset
                



              click omnipy.components.isa.FlattenedIsaJsonDataset href "" "omnipy.components.isa.FlattenedIsaJsonDataset"
              click omnipy.data.dataset.Dataset href "" "omnipy.data.dataset.Dataset"
              click omnipy.data._mixins.display.DatasetDisplayMixin href "" "omnipy.data._mixins.display.DatasetDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._mixins.task.TaskDatasetMixin href "" "omnipy.data._mixins.task.TaskDatasetMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Dataset containing flattened ISA-JSON records.

Records in this dataset follow :class:FlattenedIsaJsonModel and are intended for tabular-style processing after ISA structures are flattened.

Source code in src/omnipy/components/isa/datasets.py
class FlattenedIsaJsonDataset(Dataset[FlattenedIsaJsonModel]):
    """Dataset containing flattened ISA-JSON records.

    Records in this dataset follow :class:`FlattenedIsaJsonModel` and are
    intended for tabular-style processing after ISA structures are flattened.
    """
    ...

FlattenedIsaJsonModel

Bases: Model[JsonScalarColumnWiseTableWithColNamesModel], PrintableTable


              flowchart BT
              omnipy.components.isa.FlattenedIsaJsonModel[FlattenedIsaJsonModel]
              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.components.tables.models.PrintableTable[PrintableTable]

                              omnipy.data.model.Model --> omnipy.components.isa.FlattenedIsaJsonModel
                                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
                

                omnipy.components.tables.models.PrintableTable --> omnipy.components.isa.FlattenedIsaJsonModel
                


              click omnipy.components.isa.FlattenedIsaJsonModel href "" "omnipy.components.isa.FlattenedIsaJsonModel"
              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"
              click omnipy.components.tables.models.PrintableTable href "" "omnipy.components.tables.models.PrintableTable"
            
Source code in src/omnipy/components/isa/models/__init__.py
class FlattenedIsaJsonModel(Model[JsonScalarColumnWiseTableWithColNamesModel], PrintableTable):
    ...

IsaAssayJsonSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaAssayJsonSchema[IsaAssayJsonSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaAssayJsonSchema
                


              click omnipy.components.isa.IsaAssayJsonSchema href "" "omnipy.components.isa.IsaAssayJsonSchema"
            

Schema describing an assay block in ISA-JSON.

ATTRIBUTE DESCRIPTION
filename

Source filename for the assay metadata.

TYPE: str | None

measurementType

Ontology term describing what is measured.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

technologyType

Ontology term describing the assay technology.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

dataFiles

Data files produced or referenced by the assay.

TYPE: list[data_schema.IsaDataModel] | None

processSequence

Ordered process applications for the assay workflow.

TYPE: list[process_schema.IsaProcessOrProtocolApplicationModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA assay schema parsing.

Source code in src/omnipy/components/isa/models/assay_schema.py
class IsaAssayJsonSchema(pyd.BaseModel):
    """Schema describing an assay block in ISA-JSON.

    Attributes:
        filename: Source filename for the assay metadata.
        measurementType: Ontology term describing what is measured.
        technologyType: Ontology term describing the assay technology.
        dataFiles: Data files produced or referenced by the assay.
        processSequence: Ordered process applications for the assay workflow.
    """
    class Config:
        """Validation settings for ISA assay schema parsing.

        Attributes:
            extra: Rejects keys not defined in the schema.
            use_enum_values: Serializes enum members as their 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')
    filename: Optional[str] = None
    measurementType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = (None)
    technologyType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = (None)
    technologyPlatform: Optional[str] = None
    dataFiles: Optional[List[data_schema.IsaDataModel]] = None
    materials: Optional[_MaterialsModel] = None
    characteristicCategories: Optional[List[material_attribute_schema.IsaMaterialAttributeModel]] =\
        pyd.Field(
            None,
            description='List of all the characteristics categories (or material attributes) '
            'defined in the study, used to avoid duplication of their declaration '
            'when each material_attribute_value is created. ')
    unitCategories: Optional[List[ontology_annotation_schema.IsaOntologyReferenceModel]] = \
        pyd.Field(
            None,
            description='List of all the units defined in the study, used to avoid duplication '
                        'of their declaration when each value is created. ')
    processSequence: Optional[List[process_schema.IsaProcessOrProtocolApplicationModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

characteristicCategories class-attribute instance-attribute

characteristicCategories: list[material_attribute_schema.IsaMaterialAttributeModel] | None = (
    pyd.Field(
        None,
        description="List of all the characteristics categories (or material attributes) defined in the study, used to avoid duplication of their declaration when each material_attribute_value is created. ",
    )
)

comments class-attribute instance-attribute

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

dataFiles class-attribute instance-attribute

dataFiles: list[data_schema.IsaDataModel] | 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')

filename class-attribute instance-attribute

filename: str | None = None

materials class-attribute instance-attribute

materials: _MaterialsModel | None = None

measurementType class-attribute instance-attribute

processSequence class-attribute instance-attribute

processSequence: list[process_schema.IsaProcessOrProtocolApplicationModel] | None = None

technologyPlatform class-attribute instance-attribute

technologyPlatform: str | None = None

technologyType class-attribute instance-attribute

unitCategories class-attribute instance-attribute

unitCategories: list[ontology_annotation_schema.IsaOntologyReferenceModel] | None = pyd.Field(
    None,
    description="List of all the units defined in the study, used to avoid duplication of their declaration when each value is created. ",
)

Config

Validation settings for ISA assay schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys not defined in the schema.

use_enum_values

Serializes enum members as their value strings.

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

    Attributes:
        extra: Rejects keys not defined in the schema.
        use_enum_values: Serializes enum members as their 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

IsaCommentSchema

Bases: pyd.BaseModel


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

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


              click omnipy.components.isa.IsaCommentSchema href "" "omnipy.components.isa.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

IsaDataSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaDataSchema[IsaDataSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaDataSchema
                


              click omnipy.components.isa.IsaDataSchema href "" "omnipy.components.isa.IsaDataSchema"
            

Schema for a data file entry in an ISA assay.

ATTRIBUTE DESCRIPTION
name

Logical or physical filename for the data object.

TYPE: str | None

type

Controlled category describing the data file kind.

TYPE: Type | None

comments

Optional free-form metadata attached to the file.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA data-file schema parsing.

Source code in src/omnipy/components/isa/models/data_schema.py
class IsaDataSchema(pyd.BaseModel):
    """Schema for a data file entry in an ISA assay.

    Attributes:
        name: Logical or physical filename for the data object.
        type: Controlled category describing the data file kind.
        comments: Optional free-form metadata attached to the file.
    """
    class Config:
        """Validation settings for ISA data-file schema parsing.

        Attributes:
            extra: Rejects keys not declared by the schema.
            use_enum_values: Converts enum members to string values.
        """

        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
    type: Optional[Type] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

name class-attribute instance-attribute

name: str | None = None

type class-attribute instance-attribute

type: Type | None = None

Config

Validation settings for ISA data-file schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys not declared by the schema.

use_enum_values

Converts enum members to string values.

Source code in src/omnipy/components/isa/models/data_schema.py
class Config:
    """Validation settings for ISA data-file schema parsing.

    Attributes:
        extra: Rejects keys not declared by the schema.
        use_enum_values: Converts enum members to string values.
    """

    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

IsaFactorSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaFactorSchema[IsaFactorSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaFactorSchema
                


              click omnipy.components.isa.IsaFactorSchema href "" "omnipy.components.isa.IsaFactorSchema"
            

Schema for an experimental factor defined in a study.

ATTRIBUTE DESCRIPTION
factorName

Human-readable factor label.

TYPE: str | None

factorType

Ontology term describing the factor category.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

comments

Optional comments attached to the factor definition.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA factor schema parsing.

Source code in src/omnipy/components/isa/models/factor_schema.py
class IsaFactorSchema(pyd.BaseModel):
    """Schema for an experimental factor defined in a study.

    Attributes:
        factorName: Human-readable factor label.
        factorType: Ontology term describing the factor category.
        comments: Optional comments attached to the factor definition.
    """
    class Config:
        """Validation settings for ISA factor schema parsing.

        Attributes:
            extra: Rejects unknown keys in incoming data.
            use_enum_values: Serializes enums as 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')
    factorName: Optional[str] = None
    factorType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

comments class-attribute instance-attribute

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

factorName class-attribute instance-attribute

factorName: str | None = None

factorType class-attribute instance-attribute

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')

Config

Validation settings for ISA factor schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects unknown keys in incoming data.

use_enum_values

Serializes enums as value strings.

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

    Attributes:
        extra: Rejects unknown keys in incoming data.
        use_enum_values: Serializes enums as 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

IsaFactorValueSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaFactorValueSchema[IsaFactorValueSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaFactorValueSchema
                


              click omnipy.components.isa.IsaFactorValueSchema href "" "omnipy.components.isa.IsaFactorValueSchema"
            

Schema for values assigned to study factors.

ATTRIBUTE DESCRIPTION
category

Factor definition that this value belongs to.

TYPE: factor_schema.IsaFactorModel | None

value

Actual assigned value, either ontology-backed or scalar.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | str | float | None

unit

Unit ontology term for numeric values when applicable.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

comments

Optional comments describing the assignment.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA factor-value schema parsing.

Source code in src/omnipy/components/isa/models/factor_value_schema.py
class IsaFactorValueSchema(pyd.BaseModel):
    """Schema for values assigned to study factors.

    Attributes:
        category: Factor definition that this value belongs to.
        value: Actual assigned value, either ontology-backed or scalar.
        unit: Unit ontology term for numeric values when applicable.
        comments: Optional comments describing the assignment.
    """
    class Config:
        """Validation settings for ISA factor-value schema parsing.

        Attributes:
            extra: Rejects keys not declared in the schema.
            use_enum_values: Converts enum members to 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')
    category: Optional[factor_schema.IsaFactorModel] = None
    value: Optional[Union[ontology_annotation_schema.IsaOntologyReferenceModel, str, float]] = None
    unit: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

category class-attribute instance-attribute

category: factor_schema.IsaFactorModel | None = None

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

unit class-attribute instance-attribute

value class-attribute instance-attribute

value: ontology_annotation_schema.IsaOntologyReferenceModel | str | float | None = None

Config

Validation settings for ISA factor-value schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys not declared in the schema.

use_enum_values

Converts enum members to raw value strings.

Source code in src/omnipy/components/isa/models/factor_value_schema.py
class Config:
    """Validation settings for ISA factor-value schema parsing.

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

IsaInvestigationSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaInvestigationSchema[IsaInvestigationSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaInvestigationSchema
                


              click omnipy.components.isa.IsaInvestigationSchema href "" "omnipy.components.isa.IsaInvestigationSchema"
            

Schema for an ISA investigation document.

ATTRIBUTE DESCRIPTION
identifier

Stable identifier for the investigation.

TYPE: str | None

title

Human-readable investigation title.

TYPE: str | None

studies

Study entries included in this investigation.

TYPE: list[study_schema.IsaStudyModel] | None

submissionDate

Submission date value for the investigation metadata.

TYPE: datetime | date | pyd.constr(max_length=0) | None

publicReleaseDate

Public release date for the investigation.

TYPE: datetime | date | pyd.constr(max_length=0) | None

CLASS DESCRIPTION
Config

Validation settings for ISA investigation schema parsing.

Source code in src/omnipy/components/isa/models/investigation_schema.py
class IsaInvestigationSchema(pyd.BaseModel):
    """Schema for an ISA investigation document.

    Attributes:
        identifier: Stable identifier for the investigation.
        title: Human-readable investigation title.
        studies: Study entries included in this investigation.
        submissionDate: Submission date value for the investigation metadata.
        publicReleaseDate: Public release date for the investigation.
    """
    class Config:
        """Validation settings for ISA investigation schema parsing.

        Attributes:
            extra: Rejects undeclared keys in incoming payloads.
            use_enum_values: Emits enum fields as their 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')
    filename: Optional[str] = None
    identifier: Optional[str] = None
    title: Optional[str] = None
    description: Optional[str] = None
    submissionDate: Optional[Union[datetime, date, pyd.constr(max_length=0)]] = None
    publicReleaseDate: Optional[Union[datetime, date, pyd.constr(max_length=0)]] = None
    ontologySourceReferences: Optional[List[
        ontology_source_reference_schema.IsaOntologySourceReferenceModel]] = None
    publications: Optional[List[publication_schema.IsaPublicationModel]] = None
    people: Optional[List[person_schema.IsaPersonModel]] = None
    studies: Optional[List[study_schema.IsaStudyModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

    _date_to_iso_format = pyd.validator(
        'submissionDate', 'publicReleaseDate', allow_reuse=True)(
            date_to_iso_format)

comments class-attribute instance-attribute

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

description class-attribute instance-attribute

description: 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')

filename class-attribute instance-attribute

filename: str | None = None

identifier class-attribute instance-attribute

identifier: str | None = None

ontologySourceReferences class-attribute instance-attribute

ontologySourceReferences: (
    list[ontology_source_reference_schema.IsaOntologySourceReferenceModel] | None
) = None

people class-attribute instance-attribute

people: list[person_schema.IsaPersonModel] | None = None

publicReleaseDate class-attribute instance-attribute

publicReleaseDate: datetime | date | pyd.constr(max_length=0) | None = None

publications class-attribute instance-attribute

publications: list[publication_schema.IsaPublicationModel] | None = None

studies class-attribute instance-attribute

studies: list[study_schema.IsaStudyModel] | None = None

submissionDate class-attribute instance-attribute

submissionDate: datetime | date | pyd.constr(max_length=0) | None = None

title class-attribute instance-attribute

title: str | None = None

Config

Validation settings for ISA investigation schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys in incoming payloads.

use_enum_values

Emits enum fields as their value strings.

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

    Attributes:
        extra: Rejects undeclared keys in incoming payloads.
        use_enum_values: Emits enum fields as their 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

IsaJsonDataset

Bases: Dataset[IsaJsonModel]


              flowchart BT
              omnipy.components.isa.IsaJsonDataset[IsaJsonDataset]
              omnipy.data.dataset.Dataset[Dataset]
              omnipy.data._mixins.display.DatasetDisplayMixin[DatasetDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._mixins.task.TaskDatasetMixin[TaskDatasetMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.dataset.Dataset --> omnipy.components.isa.IsaJsonDataset
                                omnipy.data._mixins.display.DatasetDisplayMixin --> omnipy.data.dataset.Dataset
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.DatasetDisplayMixin
                

                omnipy.data._mixins.task.TaskDatasetMixin --> omnipy.data.dataset.Dataset
                
                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.dataset.Dataset
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.dataset.Dataset
                



              click omnipy.components.isa.IsaJsonDataset href "" "omnipy.components.isa.IsaJsonDataset"
              click omnipy.data.dataset.Dataset href "" "omnipy.data.dataset.Dataset"
              click omnipy.data._mixins.display.DatasetDisplayMixin href "" "omnipy.data._mixins.display.DatasetDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._mixins.task.TaskDatasetMixin href "" "omnipy.data._mixins.task.TaskDatasetMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Dataset containing validated ISA-JSON documents.

Each record in the dataset is validated by :class:IsaJsonModel, allowing downstream ISA flows and tasks to operate on a consistent document shape.

Source code in src/omnipy/components/isa/datasets.py
class IsaJsonDataset(Dataset[IsaJsonModel]):
    """Dataset containing validated ISA-JSON documents.

    Each record in the dataset is validated by :class:`IsaJsonModel`, allowing
    downstream ISA flows and tasks to operate on a consistent document shape.
    """
    ...

IsaJsonModel

Bases: Model[IsaInvestigationSchema | IsaTopLevelModel]


              flowchart BT
              omnipy.components.isa.IsaJsonModel[IsaJsonModel]
              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.IsaJsonModel
                                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.IsaJsonModel href "" "omnipy.components.isa.IsaJsonModel"
              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"
            

Union model that accepts both common ISA investigation shapes.

Input can be either a raw :class:IsaInvestigationSchema object or a top-level wrapper containing the investigation field.

CLASS DESCRIPTION
Config

Pydantic settings for ISA union parsing behavior.

Source code in src/omnipy/components/isa/models/__init__.py
class IsaJsonModel(Model[IsaInvestigationSchema | IsaTopLevelModel]):
    """Union model that accepts both common ISA investigation shapes.

    Input can be either a raw :class:`IsaInvestigationSchema` object or a
    top-level wrapper containing the ``investigation`` field.
    """
    class Config:
        """Pydantic settings for ISA union parsing behavior.

        Attributes:
            smart_union: Keeps explicit branch resolution for union parsing.
        """

        smart_union = False

    @classmethod
    def _parse_data(cls, data: IsaInvestigationSchema | IsaTopLevelModel) -> IsaTopLevelModel:
        if isinstance(data, IsaTopLevelModel):
            return data
        else:
            return IsaTopLevelModel(investigation=data)

Config

Pydantic settings for ISA union parsing behavior.

ATTRIBUTE DESCRIPTION
smart_union

Keeps explicit branch resolution for union parsing.

Source code in src/omnipy/components/isa/models/__init__.py
class Config:
    """Pydantic settings for ISA union parsing behavior.

    Attributes:
        smart_union: Keeps explicit branch resolution for union parsing.
    """

    smart_union = False

smart_union class-attribute instance-attribute

smart_union = False

IsaMaterialAttributeSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaMaterialAttributeSchema[IsaMaterialAttributeSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaMaterialAttributeSchema
                


              click omnipy.components.isa.IsaMaterialAttributeSchema href "" "omnipy.components.isa.IsaMaterialAttributeSchema"
            

Schema for material attribute categories in ISA.

ATTRIBUTE DESCRIPTION
characteristicType

Ontology term describing the attribute category.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

CLASS DESCRIPTION
Config

Validation settings for ISA material-attribute schema parsing.

Source code in src/omnipy/components/isa/models/material_attribute_schema.py
class IsaMaterialAttributeSchema(pyd.BaseModel):
    """Schema for material attribute categories in ISA.

    Attributes:
        characteristicType: Ontology term describing the attribute category.
    """
    class Config:
        """Validation settings for ISA material-attribute schema parsing.

        Attributes:
            extra: Rejects keys not present in the schema.
            use_enum_values: Serializes enums with 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')
    characteristicType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None

characteristicType class-attribute instance-attribute

characteristicType: ontology_annotation_schema.IsaOntologyReferenceModel | 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')

Config

Validation settings for ISA material-attribute schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys not present in the schema.

use_enum_values

Serializes enums with raw value strings.

Source code in src/omnipy/components/isa/models/material_attribute_schema.py
class Config:
    """Validation settings for ISA material-attribute schema parsing.

    Attributes:
        extra: Rejects keys not present in the schema.
        use_enum_values: Serializes enums with 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

IsaMaterialAttributeValueSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaMaterialAttributeValueSchema[IsaMaterialAttributeValueSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaMaterialAttributeValueSchema
                


              click omnipy.components.isa.IsaMaterialAttributeValueSchema href "" "omnipy.components.isa.IsaMaterialAttributeValueSchema"
            

Schema for assigned material attribute values.

ATTRIBUTE DESCRIPTION
category

Attribute definition that this value belongs to.

TYPE: material_attribute_schema.IsaMaterialAttributeModel | None

value

Scalar or ontology-backed attribute value.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | str | float | None

unit

Unit ontology term when the value is quantitative.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

comments

Optional comments attached to the value.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA attribute-value schema parsing.

Source code in src/omnipy/components/isa/models/material_attribute_value_schema.py
class IsaMaterialAttributeValueSchema(pyd.BaseModel):
    """Schema for assigned material attribute values.

    Attributes:
        category: Attribute definition that this value belongs to.
        value: Scalar or ontology-backed attribute value.
        unit: Unit ontology term when the value is quantitative.
        comments: Optional comments attached to the value.
    """
    class Config:
        """Validation settings for ISA attribute-value schema parsing.

        Attributes:
            extra: Rejects undeclared keys from input data.
            use_enum_values: Emits enum members as their 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')
    category: Optional[material_attribute_schema.IsaMaterialAttributeModel] = None
    value: Optional[Union[ontology_annotation_schema.IsaOntologyReferenceModel, str, float]] = None
    unit: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

category class-attribute instance-attribute

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

unit class-attribute instance-attribute

value class-attribute instance-attribute

value: ontology_annotation_schema.IsaOntologyReferenceModel | str | float | None = None

Config

Validation settings for ISA attribute-value schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys from input data.

use_enum_values

Emits enum members as their value strings.

Source code in src/omnipy/components/isa/models/material_attribute_value_schema.py
class Config:
    """Validation settings for ISA attribute-value schema parsing.

    Attributes:
        extra: Rejects undeclared keys from input data.
        use_enum_values: Emits enum members as their 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

IsaMaterialSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaMaterialSchema[IsaMaterialSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaMaterialSchema
                


              click omnipy.components.isa.IsaMaterialSchema href "" "omnipy.components.isa.IsaMaterialSchema"
            

Schema for non-sample materials in ISA studies.

ATTRIBUTE DESCRIPTION
name

Material name or identifier.

TYPE: str | None

type

Controlled label for material category.

TYPE: Type | None

characteristics

Assigned material attribute values.

TYPE: list[material_attribute_value_schema.IsaMaterialAttributeValueModel] | None

derivesFrom

Parent materials from which this material was derived.

TYPE: list[IsaMaterialModel] | None

comments

Optional comments attached to the material.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA material schema parsing.

Source code in src/omnipy/components/isa/models/material_schema.py
class IsaMaterialSchema(pyd.BaseModel):
    """Schema for non-sample materials in ISA studies.

    Attributes:
        name: Material name or identifier.
        type: Controlled label for material category.
        characteristics: Assigned material attribute values.
        derivesFrom: Parent materials from which this material was derived.
        comments: Optional comments attached to the material.
    """
    class Config:
        """Validation settings for ISA material schema parsing.

        Attributes:
            extra: Rejects unknown fields.
            use_enum_values: Serializes enum fields by raw values.
        """

        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
    type: Optional[Type] = None
    characteristics: Optional[List[
        material_attribute_value_schema.IsaMaterialAttributeValueModel]] = None
    derivesFrom: Optional[List['IsaMaterialModel']] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

characteristics class-attribute instance-attribute

comments class-attribute instance-attribute

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

derivesFrom class-attribute instance-attribute

derivesFrom: list[IsaMaterialModel] | 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')

name class-attribute instance-attribute

name: str | None = None

type class-attribute instance-attribute

type: Type | None = None

Config

Validation settings for ISA material schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects unknown fields.

use_enum_values

Serializes enum fields by raw values.

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

    Attributes:
        extra: Rejects unknown fields.
        use_enum_values: Serializes enum fields by raw values.
    """

    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

IsaOntologyReferenceSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaOntologyReferenceSchema[IsaOntologyReferenceSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaOntologyReferenceSchema
                


              click omnipy.components.isa.IsaOntologyReferenceSchema href "" "omnipy.components.isa.IsaOntologyReferenceSchema"
            

Schema for ontology terms referenced in ISA metadata.

ATTRIBUTE DESCRIPTION
annotationValue

Free-text or numeric value associated with the term.

TYPE: str | float | None

termSource

Short name of the ontology source.

TYPE: str | None

termAccession

Accession identifier for the ontology term.

TYPE: str | None

comments

Optional comments attached to the annotation.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA ontology-annotation parsing.

Source code in src/omnipy/components/isa/models/ontology_annotation_schema.py
class IsaOntologyReferenceSchema(pyd.BaseModel):
    """Schema for ontology terms referenced in ISA metadata.

    Attributes:
        annotationValue: Free-text or numeric value associated with the term.
        termSource: Short name of the ontology source.
        termAccession: Accession identifier for the ontology term.
        comments: Optional comments attached to the annotation.
    """
    class Config:
        """Validation settings for ISA ontology-annotation parsing.

        Attributes:
            extra: Rejects keys that are not defined by the schema.
            use_enum_values: Outputs enum fields as 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')
    annotationValue: Optional[Union[str, float]] = None
    termSource: Optional[str] = pyd.Field(
        None,
        description='The abbreviated ontology name. It should correspond to one of the sources as '
        'specified in the ontologySourceReference section of the Investigation.',
    )
    termAccession: Optional[str] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

annotationValue class-attribute instance-attribute

annotationValue: str | float | None = None

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

termAccession class-attribute instance-attribute

termAccession: str | None = None

termSource class-attribute instance-attribute

termSource: str | None = pyd.Field(
    None,
    description="The abbreviated ontology name. It should correspond to one of the sources as specified in the ontologySourceReference section of the Investigation.",
)

Config

Validation settings for ISA ontology-annotation parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys that are not defined by the schema.

use_enum_values

Outputs enum fields as value strings.

Source code in src/omnipy/components/isa/models/ontology_annotation_schema.py
class Config:
    """Validation settings for ISA ontology-annotation parsing.

    Attributes:
        extra: Rejects keys that are not defined by the schema.
        use_enum_values: Outputs enum fields as 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

IsaOntologySourceReferenceSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaOntologySourceReferenceSchema[IsaOntologySourceReferenceSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaOntologySourceReferenceSchema
                


              click omnipy.components.isa.IsaOntologySourceReferenceSchema href "" "omnipy.components.isa.IsaOntologySourceReferenceSchema"
            

Schema for ontology source references in ISA metadata.

ATTRIBUTE DESCRIPTION
name

Short source name used by ontology term references.

TYPE: str | None

version

Version string for the ontology source.

TYPE: str | None

file

Optional URI or file reference for the ontology.

TYPE: str | None

description

Human-readable source description.

TYPE: str | None

CLASS DESCRIPTION
Config

Validation settings for ISA ontology-source schema parsing.

Source code in src/omnipy/components/isa/models/ontology_source_reference_schema.py
class IsaOntologySourceReferenceSchema(pyd.BaseModel):
    """Schema for ontology source references in ISA metadata.

    Attributes:
        name: Short source name used by ontology term references.
        version: Version string for the ontology source.
        file: Optional URI or file reference for the ontology.
        description: Human-readable source description.
    """
    class Config:
        """Validation settings for ISA ontology-source schema parsing.

        Attributes:
            extra: Rejects undeclared keys in input payloads.
            use_enum_values: Serializes enum values as 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')
    comments: Optional[List[comment_schema.IsaCommentModel]] = None
    description: Optional[str] = None
    file: Optional[str] = None
    name: Optional[str] = None
    version: Optional[str] = None

comments class-attribute instance-attribute

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

description class-attribute instance-attribute

description: 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')

file class-attribute instance-attribute

file: str | None = None

name class-attribute instance-attribute

name: str | None = None

version class-attribute instance-attribute

version: str | None = None

Config

Validation settings for ISA ontology-source schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys in input payloads.

use_enum_values

Serializes enum values as strings.

Source code in src/omnipy/components/isa/models/ontology_source_reference_schema.py
class Config:
    """Validation settings for ISA ontology-source schema parsing.

    Attributes:
        extra: Rejects undeclared keys in input payloads.
        use_enum_values: Serializes enum values as 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

IsaOrganizationSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaOrganizationSchema[IsaOrganizationSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaOrganizationSchema
                


              click omnipy.components.isa.IsaOrganizationSchema href "" "omnipy.components.isa.IsaOrganizationSchema"
            

Schema for organization entries referenced in ISA metadata.

ATTRIBUTE DESCRIPTION
name

Organization name.

TYPE: str | None

CLASS DESCRIPTION
Config

Validation settings for ISA organization schema parsing.

Source code in src/omnipy/components/isa/models/organization_schema.py
class IsaOrganizationSchema(pyd.BaseModel):
    """Schema for organization entries referenced in ISA metadata.

    Attributes:
        name: Organization name.
    """
    class Config:
        """Validation settings for ISA organization schema parsing.

        Attributes:
            extra: Rejects unknown keys.
            use_enum_values: Emits enum members as 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

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

Config

Validation settings for ISA organization schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects unknown keys.

use_enum_values

Emits enum members as value strings.

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

    Attributes:
        extra: Rejects unknown keys.
        use_enum_values: Emits enum members as 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

IsaPersonSchema

Bases: pyd.BaseModel


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

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


              click omnipy.components.isa.IsaPersonSchema href "" "omnipy.components.isa.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

IsaProcessOrProtocolApplicationSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaProcessOrProtocolApplicationSchema[IsaProcessOrProtocolApplicationSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaProcessOrProtocolApplicationSchema
                


              click omnipy.components.isa.IsaProcessOrProtocolApplicationSchema href "" "omnipy.components.isa.IsaProcessOrProtocolApplicationSchema"
            

Schema for process or protocol application steps in ISA workflows.

ATTRIBUTE DESCRIPTION
name

Process step label.

TYPE: str | None

executesProtocol

Protocol executed by this step.

TYPE: protocol_schema.IsaProtocolModel | None

parameterValues

Parameter assignments used for execution.

TYPE: list[process_parameter_value_schema.IsaProcessParameterValueModel] | None

inputs

Materials or data consumed by the process.

TYPE: list[source_schema.IsaSourceModel | sample_schema.IsaSampleModel | data_schema.IsaDataModel | material_schema.IsaMaterialModel] | None

outputs

Materials or data produced by the process.

TYPE: list[sample_schema.IsaSampleModel | data_schema.IsaDataModel | material_schema.IsaMaterialModel] | None

previousProcess

Upstream process in a linked process chain.

TYPE: IsaProcessOrProtocolApplicationModel | None

nextProcess

Downstream process in a linked process chain.

TYPE: IsaProcessOrProtocolApplicationModel | None

CLASS DESCRIPTION
Config

Validation settings for ISA process-step schema parsing.

Source code in src/omnipy/components/isa/models/process_schema.py
class IsaProcessOrProtocolApplicationSchema(pyd.BaseModel):
    """Schema for process or protocol application steps in ISA workflows.

    Attributes:
        name: Process step label.
        executesProtocol: Protocol executed by this step.
        parameterValues: Parameter assignments used for execution.
        inputs: Materials or data consumed by the process.
        outputs: Materials or data produced by the process.
        previousProcess: Upstream process in a linked process chain.
        nextProcess: Downstream process in a linked process chain.
    """
    class Config:
        """Validation settings for ISA process-step schema parsing.

        Attributes:
            extra: Rejects keys outside the declared schema.
            use_enum_values: Serializes enum fields as raw values.
        """

        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
    executesProtocol: Optional[protocol_schema.IsaProtocolModel] = None
    parameterValues: Optional[List[
        process_parameter_value_schema.IsaProcessParameterValueModel]] = None
    performer: Optional[str] = None
    date: Optional[Union[datetime.datetime, datetime.date, pyd.constr(max_length=0)]] = None
    previousProcess: Optional['IsaProcessOrProtocolApplicationModel'] = None
    nextProcess: Optional['IsaProcessOrProtocolApplicationModel'] = None
    inputs: Optional[List[Union[
        source_schema.IsaSourceModel,
        sample_schema.IsaSampleModel,
        data_schema.IsaDataModel,
        material_schema.IsaMaterialModel,
    ]]] = None
    outputs: Optional[List[Union[
        sample_schema.IsaSampleModel,
        data_schema.IsaDataModel,
        material_schema.IsaMaterialModel,
    ]]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

    _date_to_iso_format = pyd.validator('date', allow_reuse=True)(date_to_iso_format)

comments class-attribute instance-attribute

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

date class-attribute instance-attribute

date: datetime.datetime | datetime.date | pyd.constr(max_length=0) | None = None

executesProtocol class-attribute instance-attribute

executesProtocol: protocol_schema.IsaProtocolModel | 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')

inputs class-attribute instance-attribute

name class-attribute instance-attribute

name: str | None = None

nextProcess class-attribute instance-attribute

nextProcess: IsaProcessOrProtocolApplicationModel | None = None

outputs class-attribute instance-attribute

parameterValues class-attribute instance-attribute

performer class-attribute instance-attribute

performer: str | None = None

previousProcess class-attribute instance-attribute

previousProcess: IsaProcessOrProtocolApplicationModel | None = None

Config

Validation settings for ISA process-step schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys outside the declared schema.

use_enum_values

Serializes enum fields as raw values.

Source code in src/omnipy/components/isa/models/process_schema.py
class Config:
    """Validation settings for ISA process-step schema parsing.

    Attributes:
        extra: Rejects keys outside the declared schema.
        use_enum_values: Serializes enum fields as raw values.
    """

    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

IsaProcessParameterValueSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaProcessParameterValueSchema[IsaProcessParameterValueSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaProcessParameterValueSchema
                


              click omnipy.components.isa.IsaProcessParameterValueSchema href "" "omnipy.components.isa.IsaProcessParameterValueSchema"
            

Schema for protocol parameter values applied in process steps.

ATTRIBUTE DESCRIPTION
category

Protocol parameter definition this value belongs to.

TYPE: protocol_parameter_schema.IsaProtocolParameterModel | None

value

Scalar or ontology-backed assigned value.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | str | float | None

unit

Unit ontology annotation for quantitative values.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

comments

Optional comments attached to the value.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA process-parameter schema parsing.

Source code in src/omnipy/components/isa/models/process_parameter_value_schema.py
class IsaProcessParameterValueSchema(pyd.BaseModel):
    """Schema for protocol parameter values applied in process steps.

    Attributes:
        category: Protocol parameter definition this value belongs to.
        value: Scalar or ontology-backed assigned value.
        unit: Unit ontology annotation for quantitative values.
        comments: Optional comments attached to the value.
    """
    class Config:
        """Validation settings for ISA process-parameter schema parsing.

        Attributes:
            extra: Rejects unknown keys in input payloads.
            use_enum_values: Emits enum members by value string.
        """

        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')
    category: Optional[protocol_parameter_schema.IsaProtocolParameterModel] = None
    value: Optional[Union[ontology_annotation_schema.IsaOntologyReferenceModel, str, float]] = None
    unit: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

category class-attribute instance-attribute

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

unit class-attribute instance-attribute

value class-attribute instance-attribute

value: ontology_annotation_schema.IsaOntologyReferenceModel | str | float | None = None

Config

Validation settings for ISA process-parameter schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects unknown keys in input payloads.

use_enum_values

Emits enum members by value string.

Source code in src/omnipy/components/isa/models/process_parameter_value_schema.py
class Config:
    """Validation settings for ISA process-parameter schema parsing.

    Attributes:
        extra: Rejects unknown keys in input payloads.
        use_enum_values: Emits enum members by value string.
    """

    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

IsaProtocolParameterSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaProtocolParameterSchema[IsaProtocolParameterSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaProtocolParameterSchema
                


              click omnipy.components.isa.IsaProtocolParameterSchema href "" "omnipy.components.isa.IsaProtocolParameterSchema"
            

Schema for protocol parameters used by ISA process steps.

ATTRIBUTE DESCRIPTION
parameterName

Ontology-backed name of the protocol parameter.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

comments

Optional comments attached to the parameter definition.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA protocol-parameter schema parsing.

Source code in src/omnipy/components/isa/models/protocol_parameter_schema.py
class IsaProtocolParameterSchema(pyd.BaseModel):
    """Schema for protocol parameters used by ISA process steps.

    Attributes:
        parameterName: Ontology-backed name of the protocol parameter.
        comments: Optional comments attached to the parameter definition.
    """
    class Config:
        """Validation settings for ISA protocol-parameter schema parsing.

        Attributes:
            extra: Rejects undeclared keys from input data.
            use_enum_values: Emits enum fields as their 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')
    parameterName: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = (None)
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

parameterName class-attribute instance-attribute

Config

Validation settings for ISA protocol-parameter schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys from input data.

use_enum_values

Emits enum fields as their value strings.

Source code in src/omnipy/components/isa/models/protocol_parameter_schema.py
class Config:
    """Validation settings for ISA protocol-parameter schema parsing.

    Attributes:
        extra: Rejects undeclared keys from input data.
        use_enum_values: Emits enum fields as their 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

IsaProtocolSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaProtocolSchema[IsaProtocolSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaProtocolSchema
                


              click omnipy.components.isa.IsaProtocolSchema href "" "omnipy.components.isa.IsaProtocolSchema"
            

Schema for protocols referenced by ISA process workflows.

ATTRIBUTE DESCRIPTION
name

Protocol name.

TYPE: str | None

protocolType

Ontology term describing protocol category.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

description

Human-readable protocol description.

TYPE: str | None

parameters

Parameter definitions accepted by the protocol.

TYPE: list[protocol_parameter_schema.IsaProtocolParameterModel] | None

components

Reusable protocol components and materials.

TYPE: list[Component] | None

CLASS DESCRIPTION
Config

Validation settings for ISA protocol schema parsing.

Source code in src/omnipy/components/isa/models/protocol_schema.py
class IsaProtocolSchema(pyd.BaseModel):
    """Schema for protocols referenced by ISA process workflows.

    Attributes:
        name: Protocol name.
        protocolType: Ontology term describing protocol category.
        description: Human-readable protocol description.
        parameters: Parameter definitions accepted by the protocol.
        components: Reusable protocol components and materials.
    """
    class Config:
        """Validation settings for ISA protocol schema parsing.

        Attributes:
            extra: Rejects keys that are not defined in the schema.
            use_enum_values: Serializes enum members by value.
        """

        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
    protocolType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None
    description: Optional[str] = None
    uri: Optional[str] = None
    version: Optional[str] = None
    parameters: Optional[List[protocol_parameter_schema.IsaProtocolParameterModel]] = (None)
    components: Optional[List[Component]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

comments class-attribute instance-attribute

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

components class-attribute instance-attribute

components: list[Component] | None = None

description class-attribute instance-attribute

description: 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')

name class-attribute instance-attribute

name: str | None = None

parameters class-attribute instance-attribute

parameters: list[protocol_parameter_schema.IsaProtocolParameterModel] | None = None

protocolType class-attribute instance-attribute

uri class-attribute instance-attribute

uri: str | None = None

version class-attribute instance-attribute

version: str | None = None

Config

Validation settings for ISA protocol schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys that are not defined in the schema.

use_enum_values

Serializes enum members by value.

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

    Attributes:
        extra: Rejects keys that are not defined in the schema.
        use_enum_values: Serializes enum members by value.
    """

    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

IsaPublicationSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaPublicationSchema[IsaPublicationSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaPublicationSchema
                


              click omnipy.components.isa.IsaPublicationSchema href "" "omnipy.components.isa.IsaPublicationSchema"
            

Schema for publication metadata linked to ISA investigations.

ATTRIBUTE DESCRIPTION
pubMedID

PubMed identifier, when available.

TYPE: str | None

doi

DOI string for the publication.

TYPE: str | None

authorList

Free-form list of publication authors.

TYPE: str | None

title

Publication title.

TYPE: str | None

status

Ontology term describing publication status.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

CLASS DESCRIPTION
Config

Validation settings for ISA publication schema parsing.

Source code in src/omnipy/components/isa/models/publication_schema.py
class IsaPublicationSchema(pyd.BaseModel):
    """Schema for publication metadata linked to ISA investigations.

    Attributes:
        pubMedID: PubMed identifier, when available.
        doi: DOI string for the publication.
        authorList: Free-form list of publication authors.
        title: Publication title.
        status: Ontology term describing publication status.
    """
    class Config:
        """Validation settings for ISA publication schema parsing.

        Attributes:
            extra: Rejects undeclared keys from payloads.
            use_enum_values: Emits enum fields as 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')
    pubMedID: Optional[str] = None
    doi: Optional[str] = None
    authorList: Optional[str] = None
    title: Optional[str] = None
    status: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

authorList class-attribute instance-attribute

authorList: str | None = None

comments class-attribute instance-attribute

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

doi class-attribute instance-attribute

doi: 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')

pubMedID class-attribute instance-attribute

pubMedID: str | None = None

status class-attribute instance-attribute

title class-attribute instance-attribute

title: str | None = None

Config

Validation settings for ISA publication schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys from payloads.

use_enum_values

Emits enum fields as value strings.

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

    Attributes:
        extra: Rejects undeclared keys from payloads.
        use_enum_values: Emits enum fields as 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

IsaSampleSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaSampleSchema[IsaSampleSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaSampleSchema
                


              click omnipy.components.isa.IsaSampleSchema href "" "omnipy.components.isa.IsaSampleSchema"
            

Schema for sample entities in ISA study materials.

ATTRIBUTE DESCRIPTION
name

Sample name or identifier.

TYPE: str | None

characteristics

Material attribute values describing the sample.

TYPE: list[material_attribute_value_schema.IsaMaterialAttributeValueModel] | None

factorValues

Factor assignments associated with the sample.

TYPE: list[factor_value_schema.IsaFactorValueModel] | None

derivesFrom

Source materials from which the sample originates.

TYPE: list[source_schema.IsaSourceModel] | None

comments

Optional comments attached to the sample.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA sample schema parsing.

Source code in src/omnipy/components/isa/models/sample_schema.py
class IsaSampleSchema(pyd.BaseModel):
    """Schema for sample entities in ISA study materials.

    Attributes:
        name: Sample name or identifier.
        characteristics: Material attribute values describing the sample.
        factorValues: Factor assignments associated with the sample.
        derivesFrom: Source materials from which the sample originates.
        comments: Optional comments attached to the sample.
    """
    class Config:
        """Validation settings for ISA sample schema parsing.

        Attributes:
            extra: Rejects unknown keys in input payloads.
            use_enum_values: Serializes enums to their raw values.
        """

        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
    characteristics: Optional[List[
        material_attribute_value_schema.IsaMaterialAttributeValueModel]] = None
    factorValues: Optional[List[factor_value_schema.IsaFactorValueModel]] = None
    derivesFrom: Optional[List[source_schema.IsaSourceModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

characteristics class-attribute instance-attribute

comments class-attribute instance-attribute

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

derivesFrom class-attribute instance-attribute

derivesFrom: list[source_schema.IsaSourceModel] | None = None

factorValues class-attribute instance-attribute

factorValues: list[factor_value_schema.IsaFactorValueModel] | 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')

name class-attribute instance-attribute

name: str | None = None

Config

Validation settings for ISA sample schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects unknown keys in input payloads.

use_enum_values

Serializes enums to their raw values.

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

    Attributes:
        extra: Rejects unknown keys in input payloads.
        use_enum_values: Serializes enums to their raw values.
    """

    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

IsaSourceSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaSourceSchema[IsaSourceSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaSourceSchema
                


              click omnipy.components.isa.IsaSourceSchema href "" "omnipy.components.isa.IsaSourceSchema"
            

Schema for source materials in ISA study definitions.

ATTRIBUTE DESCRIPTION
name

Source name or identifier.

TYPE: str | None

characteristics

Material attribute values describing the source.

TYPE: list[material_attribute_value_schema.IsaMaterialAttributeValueModel] | None

comments

Optional comments attached to the source entry.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA source schema parsing.

Source code in src/omnipy/components/isa/models/source_schema.py
class IsaSourceSchema(pyd.BaseModel):
    """Schema for source materials in ISA study definitions.

    Attributes:
        name: Source name or identifier.
        characteristics: Material attribute values describing the source.
        comments: Optional comments attached to the source entry.
    """
    class Config:
        """Validation settings for ISA source schema parsing.

        Attributes:
            extra: Rejects undeclared keys in payloads.
            use_enum_values: Serializes enum members to value strings.
        """

        extra = pyd.Extra.forbid
        use_enum_values = True
        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
    characteristics: Optional[List[
        material_attribute_value_schema.IsaMaterialAttributeValueModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

characteristics class-attribute instance-attribute

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

name class-attribute instance-attribute

name: str | None = None

Config

Validation settings for ISA source schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys in payloads.

use_enum_values

Serializes enum members to value strings.

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

    Attributes:
        extra: Rejects undeclared keys in payloads.
        use_enum_values: Serializes enum members to value strings.
    """

    extra = pyd.Extra.forbid
    use_enum_values = True
    use_enum_values = True

extra class-attribute instance-attribute

extra = pyd.Extra.forbid

use_enum_values class-attribute instance-attribute

use_enum_values = True

IsaStudyGroupSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaStudyGroupSchema[IsaStudyGroupSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaStudyGroupSchema
                


              click omnipy.components.isa.IsaStudyGroupSchema href "" "omnipy.components.isa.IsaStudyGroupSchema"
            

Schema for study groups used to organize related samples.

ATTRIBUTE DESCRIPTION
name

Study group label.

TYPE: str | None

factor_levels

Factor-value assignments that define the group.

TYPE: list[factor_value_schema.IsaFactorValueModel] | None

study_group_size

Number of members in the group.

TYPE: int | None

members

Sample entries assigned to the group.

TYPE: list[sample_schema.IsaSampleModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA study-group schema parsing.

Source code in src/omnipy/components/isa/models/study_group.py
class IsaStudyGroupSchema(pyd.BaseModel):
    """Schema for study groups used to organize related samples.

    Attributes:
        name: Study group label.
        factor_levels: Factor-value assignments that define the group.
        study_group_size: Number of members in the group.
        members: Sample entries assigned to the group.
    """
    class Config:
        """Validation settings for ISA study-group schema parsing.

        Attributes:
            extra: Rejects keys not declared by the schema.
            use_enum_values: Converts enum members to 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
    factor_levels: Optional[List[factor_value_schema.IsaFactorValueModel]] = None
    study_group_size: Optional[int] = None
    members: Optional[List[sample_schema.IsaSampleModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

comments class-attribute instance-attribute

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

factor_levels class-attribute instance-attribute

factor_levels: list[factor_value_schema.IsaFactorValueModel] | 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')

members class-attribute instance-attribute

members: list[sample_schema.IsaSampleModel] | None = None

name class-attribute instance-attribute

name: str | None = None

study_group_size class-attribute instance-attribute

study_group_size: int | None = None

Config

Validation settings for ISA study-group schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys not declared by the schema.

use_enum_values

Converts enum members to value strings.

Source code in src/omnipy/components/isa/models/study_group.py
class Config:
    """Validation settings for ISA study-group schema parsing.

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

IsaStudySchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.IsaStudySchema[IsaStudySchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.IsaStudySchema
                


              click omnipy.components.isa.IsaStudySchema href "" "omnipy.components.isa.IsaStudySchema"
            

Schema for study entries inside an ISA investigation.

ATTRIBUTE DESCRIPTION
identifier

Stable identifier for the study.

TYPE: str | None

title

Human-readable study title.

TYPE: str | None

materials

Sources, samples, and other materials in the study.

TYPE: _Materials | None

processSequence

Ordered list of process steps.

TYPE: list[process_schema.IsaProcessOrProtocolApplicationModel] | None

assays

Assay entries defined for the study.

TYPE: list[assay_schema.IsaAssayJsonModel] | None

factors

Experimental factors used to structure comparisons.

TYPE: list[factor_schema.IsaFactorModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA study schema parsing.

Source code in src/omnipy/components/isa/models/study_schema.py
class IsaStudySchema(pyd.BaseModel):
    """Schema for study entries inside an ISA investigation.

    Attributes:
        identifier: Stable identifier for the study.
        title: Human-readable study title.
        materials: Sources, samples, and other materials in the study.
        processSequence: Ordered list of process steps.
        assays: Assay entries defined for the study.
        factors: Experimental factors used to structure comparisons.
    """
    class Config:
        """Validation settings for ISA study schema parsing.

        Attributes:
            extra: Rejects undeclared keys from input data.
            use_enum_values: Emits enum fields as 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')
    filename: Optional[str] = None
    identifier: Optional[str] = None
    title: Optional[str] = None
    description: Optional[str] = None
    submissionDate: Optional[Union[datetime, date, pyd.constr(max_length=0)]] = None
    publicReleaseDate: Optional[Union[datetime, date, pyd.constr(max_length=0)]] = None
    publications: Optional[List[publication_schema.IsaPublicationModel]] = None
    people: Optional[List[person_schema.IsaPersonModel]] = None
    studyDesignDescriptors: Optional[List[
        ontology_annotation_schema.IsaOntologyReferenceModel]] = None
    protocols: Optional[List[protocol_schema.IsaProtocolModel]] = None
    materials: Optional[_Materials] = None
    processSequence: Optional[List[process_schema.IsaProcessOrProtocolApplicationModel]] = None
    assays: Optional[List[assay_schema.IsaAssayJsonModel]] = None
    factors: Optional[List[factor_schema.IsaFactorModel]] = None
    characteristicCategories: Optional[List[
        material_attribute_schema.IsaMaterialAttributeModel]] = \
        pyd.Field(
            None,
            description='List of all the characteristics categories (or material attributes) '
                        'defined in the study, used to avoid duplication of their declaration '
                        'when each material_attribute_value is created. ')
    unitCategories: Optional[List[ontology_annotation_schema.IsaOntologyReferenceModel]] = \
        pyd.Field(
            None,
            description='List of all the units defined in the study, used to avoid duplication '
                        'of their declaration when each value is created. ')
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

    _date_to_iso_format = pyd.validator(
        'submissionDate', 'publicReleaseDate', allow_reuse=True)(
            date_to_iso_format)

assays class-attribute instance-attribute

assays: list[assay_schema.IsaAssayJsonModel] | None = None

characteristicCategories class-attribute instance-attribute

characteristicCategories: list[material_attribute_schema.IsaMaterialAttributeModel] | None = (
    pyd.Field(
        None,
        description="List of all the characteristics categories (or material attributes) defined in the study, used to avoid duplication of their declaration when each material_attribute_value is created. ",
    )
)

comments class-attribute instance-attribute

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

description class-attribute instance-attribute

description: str | None = None

factors class-attribute instance-attribute

factors: list[factor_schema.IsaFactorModel] | 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')

filename class-attribute instance-attribute

filename: str | None = None

identifier class-attribute instance-attribute

identifier: str | None = None

materials class-attribute instance-attribute

materials: _Materials | None = None

people class-attribute instance-attribute

people: list[person_schema.IsaPersonModel] | None = None

processSequence class-attribute instance-attribute

processSequence: list[process_schema.IsaProcessOrProtocolApplicationModel] | None = None

protocols class-attribute instance-attribute

protocols: list[protocol_schema.IsaProtocolModel] | None = None

publicReleaseDate class-attribute instance-attribute

publicReleaseDate: datetime | date | pyd.constr(max_length=0) | None = None

publications class-attribute instance-attribute

publications: list[publication_schema.IsaPublicationModel] | None = None

studyDesignDescriptors class-attribute instance-attribute

studyDesignDescriptors: list[ontology_annotation_schema.IsaOntologyReferenceModel] | None = None

submissionDate class-attribute instance-attribute

submissionDate: datetime | date | pyd.constr(max_length=0) | None = None

title class-attribute instance-attribute

title: str | None = None

unitCategories class-attribute instance-attribute

unitCategories: list[ontology_annotation_schema.IsaOntologyReferenceModel] | None = pyd.Field(
    None,
    description="List of all the units defined in the study, used to avoid duplication of their declaration when each value is created. ",
)

Config

Validation settings for ISA study schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys from input data.

use_enum_values

Emits enum fields as value strings.

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

    Attributes:
        extra: Rejects undeclared keys from input data.
        use_enum_values: Emits enum fields as 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

flatten_isa_json

flatten_isa_json(dataset: IsaJsonDataset) -> FlattenedIsaJsonDataset

Flatten ISA-JSON documents into tabular-like records.

The flow converts each ISA document to an intermediate dictionary-of-dictionaries representation, transposes that structure into record lists, and then flattens nested keys into scalar columns.

PARAMETER DESCRIPTION
dataset

Dataset with ISA-JSON documents to flatten.

TYPE: IsaJsonDataset

RETURNS DESCRIPTION
FlattenedIsaJsonDataset

A dataset containing flattened ISA records suitable for tabular workflows.

Source code in src/omnipy/components/isa/flows.py
@LinearFlowTemplate(
    convert_dataset.refine(fixed_params=dict(dataset_cls=JsonDictOfDictsDataset)),
    transpose_dict_of_dicts_2_list_of_dicts,
    flatten_nested_json,
    convert_dataset.refine(fixed_params=dict(dataset_cls=FlattenedIsaJsonDataset)))
def flatten_isa_json(dataset: IsaJsonDataset) -> FlattenedIsaJsonDataset:
    """Flatten ISA-JSON documents into tabular-like records.

    The flow converts each ISA document to an intermediate dictionary-of-dictionaries
    representation, transposes that structure into record lists, and then flattens
    nested keys into scalar columns.

    Args:
        dataset: Dataset with ISA-JSON documents to flatten.

    Returns:
        A dataset containing flattened ISA records suitable for tabular workflows.
    """
    ...