v0.1.2
This release introduces a major refactor of the core, while keeping most of the low-level functions untouched.
Breaking Changes
-
core class significantly redesigned to make components less coupled and data location easier to track (#24)
v0.1.1
used a service based approach:
async with FR24() as fr24: fl = fr24.flight_list("id") fl.data.load() # read flight_list/{id}.parquet response = await fl.api.fetch() # optional parameters goes here, e.g. page, limit fl.data.add_api_response(response) # json -> pyarrow fl.data.save() # write flight_list/{id}.parquet
v0.1.2
uses an approach which implement a series of type-transformations:
async with FR24() as fr24: response = await fr24.flight_list.fetch(reg="id") # FlightListAPIResp { ctx: {"id": "{id}", ...}, response: json } data = response.to_arrow() # FlightListArrow { ctx: ..., table: pyarrow.Table } print(data.df) # pd.DataFrame data.save()
-
protobuf definitions now adhere to official naming and structure (f9e2421)
-
library now makes a clear distinction between heading and track:
LiveFeedRecord
,TrackData
,PlaybackTrackEMSRecord
,FlightListRecord
are updated (345b8cd) -
flight_list_df
andplayback_df
now calls their proxy*_arrow
functions to ensure consistent data types (3edf447)flight_list_df
timestamp are now milliseconds,flight_id
andicao24
no longer floats.playback_df
now serialisesems
and metadata.
-
find
now accepts optionalhttpx.AsyncClient
parameter
New Features
- HTTP/2 is enabled by default to avoid 464 errors (3ce6da6)
- live feed now supports modifying the
fields
parameter - updated CLI (e19e5ba):
- all three services are now implemented
-o
,--output
: supports saving to specific directory or stdout (-
)-f
,--format
: supports saving toparquet
orcsv
Full Changelog: v0.1.1...v0.1.2