Exec Spawn message break conditions

Hello, I am trying to produce a fourier transform of some sensor data, an external python script is sampling a sensor, preforming a fft and trying to return some data at ~1sec intervals.
I am spawning the exec (with the -u flag) but node red is sending several lines concatenated with new line characters instead of a separate message for every line.
The docs say it "Usually" breaks into messages on new line characters. Under what conditions does the exec node break things into messages? Regardless of how many or few samples I set it to it seems to take about ~8000 characters and batch them into messages ignoring new line characters.

DietPi linux
Node red 3.1.8

Node red seems to use nodejs process spawning Child process | Node.js v21.7.3 Documentation

The output must be treated as a stream, for my function I will just need to deal with a few seconds of lag and use some function nodes to ingest the data.

If decide I want lower latency updates, would spawning a process and sending mqtt to a server on the device be a good solution?

Likely MQTT is a better solution whether you want lower latency or not.