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: BaseModel

OpenSky Network API state data

Properties

model_config

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

icao24

aircraft ICAO 24-bit address (hex)

callsign

aircraft callsign

origin_country

aircraft origin country

time_position

last position update timestamp (Unix)

last_contact

last transponder timestamp (Unix)

longitude

aircraft longitude [deg]

latitude

aircraft latitude [deg]

baro_altitude

barometric altitude [m]

on_ground

whether aircraft is on ground

velocity

aircraft velocity [m/s]

true_track

aircraft true track [deg]

vertical_rate

aircraft vertical rate [m/s]

sensors

IDs of receivers which captured state

geo_altitude

aircraft barometric altitude [m]

squawk

transponder squawk code

spi

special purpose indicator

position_source

origin of the state position

category

aircraft category

Methods

parse_from_list

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