Skip to content

[Feature] [pybricksdev] public API to get async raw stdio #1038

@Novakasa

Description

@Novakasa

Is your feature request related to a problem? Please describe.
I saw the commits for the new pybricks service in the pybricksdev repo and they look great! However, I am currently relying on the _nus_observable to hijack the raw hub output for my communication, and it seems like with the new pybricks service, stdout will not be going through that anymore.

Describe the solution you'd like
It would be great if we had a public API to get notified for any stdout output and get the raw data. For me a rxpy.Subject, asyncio.Queue or a coroutine to get the next stdout would work equally well.

Describe alternatives you've considered
My stdout messages can contain newline bytes that shouldn't be interpreted as such, so if I were to use to use the current implementation of read_line, I would have to stitch together the lines and reinterpret them. This would introduce delayed messages if the communication protocol doesn't use newline characters at the end of each message (luckily, my protocol does do so, so this is in principle a workable solution)

Metadata

Metadata

Assignees

No one assigned

    Labels

    software: pybricksdevIssues related to the pybrickdev Python package

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions