Skip to content

v3.0.0

Choose a tag to compare

@jeyrb jeyrb released this 30 Sep 13:07
· 36 commits to main since this release
Immutable release. Only release title and notes can be modified.

✨ Enhancements

  • New Python API
    • All the functionality of the CLI now available as a Python API to use in your own scripts, apps or notebooks
    • History API: signalk_cli.history.HistoryClient
    • Returns tables that load straight into polars, pandas, pyarrow or DuckDB (via the small nanoarrow dependency; using Arrow PyCapsule interface so pyarrow not needed)
    • Wide table column names may change in future releases
    • Streaming API (beta): signalk_cli.stream.StreamClient
      • open() for a live DeltaStream of messages or rows, collect() for a table of the next N messages
  • Feather files from query now have typed columns (UTC timestamps, floats) instead of all text
  • Streaming Feather files now have typed columns (UTC timestamps, and float values where every value is a number)
  • list-paths and list-contexts now accept date durations such as --duration P1D, like query

🚨 Breaking changes

  • Plain dotted paths such as navigation.speedOverGround are now always literal; only * ? + [ ( { | ^ $ \ make a pattern. Previously a . alone made a regex, so a path was looked up via /paths, matched as a substring, and dropped if the server had no data for it
  • The undocumented signalk_cli.history.history_api and signalk_cli.stream.stream_api modules are gone; use signalk_cli.history and signalk_cli.stream instead

📚 Documentation

  • Docs overhauled and updated for new APIs

What's Changed

  • v3.0.0: Python library API for history and streaming by @jeyrb in #62

New Contributors

  • @jeyrb made their first contribution in #62

Full Changelog: v2.2.1...v3.0.0