Skip to content

Releases: cathaypacific8747/fr24

v0.1.3

08 Aug 14:17
bcd103d
Compare
Choose a tag to compare

New Features

  • New gRPC endpoints:
    • NearestFlights: get list of live aircraft from centrepoint and radius
    • LiveFlightsStatus: get live aircraft location and status
    • FollowFlight: streaming API, sends updates of aircraft state vectors; effectively the side panel clickhandler JSON endpoint
    • TopFlights: effectively /flights/most-tracked JSON endpoint
    • LiveTrail: get list of aircraft state vectors for a live flight

Breaking Changes

  • livefeed renamed to live_feed in all places
  • all low level functions are moved into fr24.json and fr24.grpc namespaces for clarity.
  • protobuf definitions now split into multiple .proto files

Full Changelog: v0.1.2...v0.1.3

v0.1.2

25 Jun 12:54
Compare
Choose a tag to compare

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 and playback_df now calls their proxy *_arrow functions to ensure consistent data types (3edf447)

    • flight_list_df timestamp are now milliseconds, flight_id and icao24 no longer floats.
    • playback_df now serialises ems and metadata.
  • find now accepts optional httpx.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 to parquet or csv

Full Changelog: v0.1.1...v0.1.2

v0.1.1

01 Apr 10:19
8a27c78
Compare
Choose a tag to compare

Full Changelog: v0.1.0...v0.1.1

v0.1.0

17 Dec 20:17
864f91b
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

Basic features:

  • (gRPC) live and historical feed
  • (JSON) historical routes by flight number / registration
  • (JSON) playback track by flight id
  • (JSON) airport/aircraft metadata finding
  • utils: caching, cli and tui