Skip to content

Stream API: adapt to pipeparts refactor + add documentation

Patrick Godwin requested to merge feature-update_stream_api_refactor_docs into master

This PR makes a few modifications to the Stream API + pipeparts elements, inspired by the pipeparts refactor:

Stream API + pipeparts

  • Move some elements around in pipeparts to more appropriate places:
    • Move firbank element from pipeparts.transform to pipeparts.filter
    • Move uridecodebin element from pipeparts.encode to pipeparts.source
  • Modify a few pipeparts element names to describe actions taking place. NOTE: original pipeparts.mk* names are preserved for backwards compatibility.
    • pipeparts.transform.adder -> pipeparts.transform.add
    • pipeparts.transform.multiplier -> pipeparts.transform.multiply
    • pipeparts.transform.interpolator -> pipeparts.transform.interpolate
    • pipeparts.transform.tag_inject -> pipeparts.transform.inject_tags
  • Adapt names of some elements in Stream API to reflect pipeparts refactor. e.g. stream.progressreport -> stream.progress_report
  • Change names of sources and sinks in Stream API to have the following syntax:
    • sources: Stream.from_*, e.g. audiotestsrc -> Stream.from_audio_test
    • sinks: Stream.to_*, e.g. appsink -> Stream.to_app
  • Fix issues with creating sources in the Stream other than Stream.from_datasource by making sources class methods which create a new Stream instance. Before this, creating a source was not straightforward and was error prone.

Documentation

  • Add Stream API section in user guide to build pipelines
  • Modify Sphinx apidoc generation to add inherited class members as well. This avoids missing methods in the API docs for some classes
  • Add napoleon Sphinx extension (part of Sphinx itself) to fix rendering issues on API docstrings

Other

  • Add pipeparts.transform.check_timestamps lambda when --check-timestamp is set in gstlal_inspiral and gstlal_inspiral_calc_snr
Edited by Patrick Godwin

Merge request reports