skytracker.models.api.opensky_network.OpenSkyNetworkState#
- class skytracker.models.api.opensky_network.OpenSkyNetworkState(*, icao24: str, callsign: str | None, origin_country: str, time_position: int | None, last_contact: int | None, longitude: float | None, latitude: float | None, baro_altitude: float | None, on_ground: bool, velocity: float | None, true_track: float | None, vertical_rate: float | None, sensors: List[int] | None, geo_altitude: float | None, squawk: str | None, spi: bool, position_source: int, category: int = 0)#
Bases:
BaseModelOpenSky Network API state data
Properties
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
aircraft ICAO 24-bit address (hex)
aircraft callsign
aircraft origin country
last position update timestamp (Unix)
last transponder timestamp (Unix)
aircraft longitude [deg]
aircraft latitude [deg]
barometric altitude [m]
whether aircraft is on ground
aircraft velocity [m/s]
aircraft true track [deg]
aircraft vertical rate [m/s]
IDs of receivers which captured state
aircraft barometric altitude [m]
transponder squawk code
special purpose indicator
origin of the state position
aircraft category
Methods
Parse a list of values into a OpenSky Network API state
- __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 parse_from_list(values: Any) dict[Literal['icao24', 'callsign', 'origin_country', 'time_position', 'last_contact', 'longitude', 'latitude', 'baro_altitude', 'on_ground', 'velocity', 'true_track', 'vertical_rate', 'sensors', 'geo_altitude', 'squawk', 'spi', 'position_source', 'category'], Any]#
Parse a list of values into a OpenSky Network API state
- Parameters:
values (list[Any]) – list of values
- Returns:
OpenSky Network API state entries
- Return type:
dict[StateFields, Any]
- baro_altitude: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft barometric altitude [m]')]#
barometric altitude [m]
- Type:
float | None
- callsign: Annotated[str | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft callsign')]#
aircraft callsign
- Type:
str | None
- category: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=0, description='Aircraft category')]#
aircraft category
- Type:
int
- geo_altitude: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft geometric altitude [m]')]#
aircraft barometric altitude [m]
- Type:
float | None
- icao24: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Aircraft ICAO 24-bit address (hex)')]#
aircraft ICAO 24-bit address (hex)
- Type:
str
- last_contact: Annotated[int | None, FieldInfo(annotation=NoneType, required=True, description='Last transponder timestamp (Unix)')]#
last transponder timestamp (Unix)
- Type:
int | None
- latitude: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft latitude [deg]')]#
aircraft latitude [deg]
- Type:
float | None
- longitude: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft longitude [deg]')]#
aircraft longitude [deg]
- Type:
float | None
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- on_ground: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Whether aircraft is on ground')]#
whether aircraft is on ground
- Type:
bool
- origin_country: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Aircraft origin country')]#
aircraft origin country
- Type:
str
- position_source: Annotated[int, FieldInfo(annotation=NoneType, required=True, description='Origin of the state position')]#
origin of the state position
- Type:
int
- sensors: Annotated[List[int] | None, FieldInfo(annotation=NoneType, required=True, description='IDs of receivers which captured state')]#
IDs of receivers which captured state
- Type:
List[int] | None
- spi: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Special purpose indicator')]#
special purpose indicator
- Type:
bool
- squawk: Annotated[str | None, FieldInfo(annotation=NoneType, required=True, description='Transponder squawk code')]#
transponder squawk code
- Type:
str | None
- time_position: Annotated[int | None, FieldInfo(annotation=NoneType, required=True, description='Last position update timestamp (Unix)')]#
last position update timestamp (Unix)
- Type:
int | None
- true_track: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft true track [deg]')]#
aircraft true track [deg]
- Type:
float | None
- velocity: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft velocity [m/s]')]#
aircraft velocity [m/s]
- Type:
float | None
- vertical_rate: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft vertical rate [m/s]')]#
aircraft vertical rate [m/s]
- Type:
float | None