/spead2

Library for the Streaming Protocol for Exchange of Astronomical Data (SPEAD)

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

spead2

Documentation Status

Test Status

Coverage Status

spead2 is an implementation of the SPEAD protocol, with both Python and C++ bindings. The 2 in the name indicates that this is a new implementation of the protocol; the protocol remains essentially the same. Compared to the PySPEAD implementation, spead2:

  • is at least an order of magnitude faster when dealing with large heaps;
  • correctly implements several aspects of the protocol that were implemented incorrectly in PySPEAD (bug-compatibility is also available);
  • correctly implements many corner cases on which PySPEAD would simply fail;
  • cleanly supports several SPEAD flavours (e.g. 64-40 and 64-48) in one module, with the receiver adapting to the flavour used by the sender;
  • supports Python 3;
  • supports asynchronous operation, using asyncio.

For more information, refer to the documentation on readthedocs.