Repository layout
C++
src/*.cppSource files. Files are grouped into functionality by prefixes:
src/recv_*.cppReceiving data (
spead2::recvnamespace).src/send_*.cppSending data (
spead2::sendnamespace).src/common_*.cppOther general shared code (
speadnamespace).src/unittest_*.cppC++ unit tests.
src/spead2_*.cppandsrc/mcdump.cppCommand-line utilities.
src/py_*.cppPython bindings.
src/*.hHeader files that are only used internally (not installed for users).
include/spead/*.hHeader files that are installed and form the public API. The filenames mostly correspond to the source files.
examples/*.cppExample code.
Python
src/spead2/Source code. This is placed within a
srcsubdirectory so that Python does not automatically import from it unless explicitly added to the Python path. See Packaging a Python Library for an explanation of the advantages.src/spead2/tools/Implementations of the command-line tools.
examples/*.pyExample code.
tests/Unit tests. These are mainly for use with pytest, but
tests/shutdown.pycontains tests that are run to ensure that the interpret shuts down cleanly (see Interpreter shutdown).
Other
gen/Utilities that run as part of the build.
doc/Documentation.