Metadata-Version: 2.3
Name: aind-behavior-just_frames
Version: 0.5.1
Summary: A library for benchmarking online video acquisition/encoding pipelines
Author: Bruno Cruz
Author-email: Bruno Cruz <bruno.cruz@alleninstitute.org>
License: MIT
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: Microsoft :: Windows
Requires-Dist: aind-behavior-services>=0.13
Requires-Dist: pydantic-settings
Requires-Dist: contraqctor>=0.5.3,<0.6.0 ; extra == 'data'
Requires-Dist: aind-clabe[aind-services]>=0.10.0 ; extra == 'launcher'
Requires-Dist: aind-behavior-just-frames[data] ; extra == 'launcher'
Requires-Python: >=3.11
Provides-Extra: data
Provides-Extra: launcher
Description-Content-Type: text/markdown

# Aind.Behavior.JustFrames

A repository with code for a online video acquisition/encoding pipeline

## ZeroMQ Architecture

![ZeroMQ Architecture](assets/zmq_architecture.svg)

## Notes on workflow startup

Button -> EnableExperiment
EnableExperiment(unit) -> StartLogging(unit) -> StartExperiment (unit)
                       -> StartLogging -> IsExperimentRunning(bool)

In main:
zmqRequest (master) -> EnableExperiment

In satellite:
zmqRequest (satellite) -> EnableExperiment

## Refactored

In master:

Button | zmqRequest -> TryStart ( _ = >{
zmqRequest (satellite) -> EnableExperiment(satellite) -> HasStarted .zip(). timeout}
) -> EnableExperiment -> StartLogging -> StartExperiment -> Trigger