mex.extractors.blueant.models package

Submodules

mex.extractors.blueant.models.person module

class mex.extractors.blueant.models.person.BlueAntPerson(*, id: int, personnelNumber: str, firstname: str, lastname: str, email: Email)

Bases: BaseModel

Model class for Blue Ant persons.

email: Email
firstname: str
id: int
lastname: str
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'email': FieldInfo(annotation=Email, required=True), 'firstname': FieldInfo(annotation=str, required=True), 'id': FieldInfo(annotation=int, required=True), 'lastname': FieldInfo(annotation=str, required=True), 'personnelNumber': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

personnelNumber: str
class mex.extractors.blueant.models.person.BlueAntPersonResponse(*, persons: list[BlueAntPerson])

Bases: BaseModel

Response to GET request to Blue Ant API person endpoint.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'persons': FieldInfo(annotation=list[BlueAntPerson], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

persons: list[BlueAntPerson]

mex.extractors.blueant.models.project module

class mex.extractors.blueant.models.project.BlueAntClient(*, clientId: int)

Bases: BaseModel

Model class for Blue Ant clients.

clientId: int
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'clientId': FieldInfo(annotation=int, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class mex.extractors.blueant.models.project.BlueAntProject(*, clients: list[BlueAntClient], departmentId: int, end: TemporalEntity, name: str, number: str, projectLeaderId: int, start: TemporalEntity, statusId: int, typeId: int)

Bases: BaseModel

Model class for Blue Ant projects.

clients: list[BlueAntClient]
departmentId: int
end: TemporalEntity
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'clients': FieldInfo(annotation=list[BlueAntClient], required=True), 'departmentId': FieldInfo(annotation=int, required=True), 'end': FieldInfo(annotation=TemporalEntity, required=True), 'name': FieldInfo(annotation=str, required=True), 'number': FieldInfo(annotation=str, required=True), 'projectLeaderId': FieldInfo(annotation=int, required=True), 'start': FieldInfo(annotation=TemporalEntity, required=True), 'statusId': FieldInfo(annotation=int, required=True), 'typeId': FieldInfo(annotation=int, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

name: str
number: str
projectLeaderId: int
start: TemporalEntity
statusId: int
typeId: int
class mex.extractors.blueant.models.project.BlueAntProjectResponse(*, projects: list[BlueAntProject])

Bases: BaseModel

Response to GET request to Blue Ant API projects endpoint.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'projects': FieldInfo(annotation=list[BlueAntProject], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

projects: list[BlueAntProject]

mex.extractors.blueant.models.source module

class mex.extractors.blueant.models.source.BlueAntSource(*, client_names: list[str], department: str, end: TemporalEntity, name: str, number: str, projectLeaderEmployeeId: str | None = None, start: TemporalEntity, status: str, type_: str)

Bases: BaseRawData

Model class for Blue Ant sources.

client_names: list[str]
department: str
end: TemporalEntity
get_end_year() TemporalEntity | None

Return end year from extractor.

get_identifier_in_primary_source() str | None

Return identifier in primary source from extractor.

get_partners() Sequence[str | None]

Return partners from extractor.

get_start_year() TemporalEntity | None

Return start year from extractor.

get_units() Sequence[str | None]

Return units from extractor.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'client_names': FieldInfo(annotation=list[str], required=True), 'department': FieldInfo(annotation=str, required=True), 'end': FieldInfo(annotation=TemporalEntity, required=True), 'name': FieldInfo(annotation=str, required=True), 'number': FieldInfo(annotation=str, required=True), 'projectLeaderEmployeeId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'start': FieldInfo(annotation=TemporalEntity, required=True), 'status': FieldInfo(annotation=str, required=True), 'type_': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

name: str
number: str
projectLeaderEmployeeId: str | None
start: TemporalEntity
status: str
type_: str

Module contents