Creating Custom Modules

Rogue can be extended with custom C++ modules when the built-in stream, protocol, or hardware helpers are not enough for an application. The usual workflow is:

  • Implement the C++ class that provides the needed Rogue interface behavior.

  • Build it as a Python-loadable shared library against an existing Rogue installation.

  • Wrap the exported class in a PyRogue Device so it fits naturally into a larger tree.

  • Test the module first in a minimal local setup, then in a larger control application.

The example in this section follows that path for a custom stream transmitter and receiver. It is still part of the broader Stream Interface story, but the same pattern also applies to other custom Rogue extensions.