Repository layout
C++
src/*.cpp
Source files. Files are grouped into functionality by prefixes:
src/recv_*.cpp
Receiving data (
spead2::recv
namespace).src/send_*.cpp
Sending data (
spead2::send
namespace).src/common_*.cpp
Other general shared code (
spead
namespace).src/unittest_*.cpp
C++ unit tests.
src/spead2_*.cpp
andsrc/mcdump.cpp
Command-line utilities.
src/py_*.cpp
Python bindings.
src/*.h
Header files that are only used internally (not installed for users).
include/spead/*.h
Header files that are installed and form the public API. The filenames mostly correspond to the source files.
examples/*.cpp
Example code.
Python
src/spead2/
Source code. This is placed within a
src
subdirectory 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/*.py
Example code.
tests/
Unit tests. These are mainly for use with pytest, but
tests/shutdown.py
contains 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.