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:
BaseModelAircraft lifecycle
Properties
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
date aircraft was delivered to operator
date of first flight
date aircraft was registered
date aircraft was rolled out of factory
aircraft age [year]
Methods
Serialize date
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].