Repository navigation
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.1used 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.2uses 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,FlightListRecordare updated (345b8cd) -
flight_list_dfandplayback_dfnow calls their proxy*_arrowfunctions to ensure consistent data types (3edf447)flight_list_dftimestamp are now milliseconds,flight_idandicao24no longer floats.playback_dfnow serialisesemsand metadata.
-
findnow accepts optionalhttpx.AsyncClientparameter
New Features
- HTTP/2 is enabled by default to avoid 464 errors (3ce6da6)
- live feed now supports modifying the
fieldsparameter - updated CLI (e19e5ba):
- all three services are now implemented
-o,--output: supports saving to specific directory or stdout (-)-f,--format: supports saving toparquetorcsv
Full Changelog: v0.1.1...v0.1.2