skytracker.models.aircraft.AircraftLifecycle#

class skytracker.models.aircraft.AircraftLifecycle(*, date_delivery: datetime | None, date_first_flight: datetime | None = 'Date of first flight', date_registration: datetime | None = 'Date aircraft was registered', date_rollout: datetime | None = 'Date aircraft was rolled out of factory', age: int | None)#

Bases: BaseModel

Aircraft lifecycle

Properties

model_config

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

date_delivery

date aircraft was delivered to operator

date_first_flight

date of first flight

date_registration

date aircraft was registered

date_rollout

date aircraft was rolled out of factory

age

aircraft age [year]

Methods

serialize_dates

Serialize date

validate_dates

Validate date attributes

__init__(**data: Any) None#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod serialize_dates(date: datetime | None) str#

Serialize date

Parameters:

date (datetime | None) – datetime

Returns:

serialized datetime

Return type:

str

classmethod validate_dates(date: datetime | str | None) datetime#

Validate date attributes

Parameters:

date (datetime) – date attribute

Returns:

validated date attribute

Return type:

datetime

age: Annotated[int | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft age [year]')]#

aircraft age [year]

Type:

int | None

date_delivery: Annotated[datetime | None, FieldInfo(annotation=NoneType, required=True, description='Date aircraft was delivered to operator')]#

date aircraft was delivered to operator

Type:

datetime | None

date_first_flight: Annotated[datetime | None, FieldInfo(annotation=NoneType, required=False, default='Date of first flight')]#

date of first flight

Type:

datetime | None

date_registration: Annotated[datetime | None, FieldInfo(annotation=NoneType, required=False, default='Date aircraft was registered')]#

date aircraft was registered

Type:

datetime | None

date_rollout: Annotated[datetime | None, FieldInfo(annotation=NoneType, required=False, default='Date aircraft was rolled out of factory')]#

date aircraft was rolled out of factory

Type:

datetime | None

model_config: ClassVar[ConfigDict] = {}#

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