Stream API: adapt to pipeparts refactor + add documentation
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 frompipeparts.transform
topipeparts.filter
- Move
uridecodebin
element frompipeparts.encode
topipeparts.source
- Move
- 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
- sources:
- 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 ingstlal_inspiral
andgstlal_inspiral_calc_snr
Edited by Patrick Godwin