narupa.app.frame_app module

Module providing an implementation of an Narupa frame-serving application, for publishing simulations and trajectories for consumption by clients.

class narupa.app.frame_app.NarupaFrameApplication(server: narupa.core.narupa_server.NarupaServer, discovery: Optional[narupa.essd.server.DiscoveryServer] = None, name: Optional[str] = None)

Bases: narupa.app.app_server.NarupaApplicationServer

Application-level class for implementing a Narupa frame server, something that publishes FrameData that can be consumed, e.g. simulation trajectories.

>>> with NarupaFrameApplication.basic_server() as app:
...     frame_publisher = app.frame_publisher
...     example_frame = FrameData() # A simple frame representing two particles.
...     example_frame.particle_positions = [[0,0,0],[1,1,1]]
...     example_frame.particle_count = 2
...     frame_publisher.send_frame(0, example_frame)
DEFAULT_SERVER_NAME = 'Narupa Frame Server'
close()

Close the application server and all services.

frame_publisher

The frame publisher attached to this application. Use it to publish frames for consumption by Narupa frame clients.

Returns:The FramePublisher attached to this application.