Releases: lRomul/rosny
Releases · lRomul/rosny
Streams -> Nodes
Logo, multiprocessing examples
Docs
- Setup material MkDocs.
- Add logo.
Examples
- Multiprocessing pose estimation with mediapipe example (link).
- Threads inside process example (link).
Breaking Changes
- Rename
work_loop
method toloop
. - Rename
on_work_loop_begin
callback method toon_loop_begin
. - Rename
on_work_loop_end
callback method toon_loop_end
.
Loop rate profiling, process start methods, new callbacks, common state
New Features
- Loop rate profiling via parameter
profile_interval
ofThreadStream
andProcessStream
. ProcessStream
now works with any methods to start a process:spawn
,fork
, andforkserver
. User should usemultiprocessing.set_start_method()
function before starting streams.- New callback methods:
on_compile_begin
,on_compile_end
,on_work_loop_begin
,on_work_loop_end
. - Internal state is now a
common_state
and can be set by user via compile method. - Add
handle_signals
parameter of compile method. A boolean value indicating whether handling systems signals.
Examples
- Video pipeline with mediapipe (link).
Breaking Changes
- Remove callback methods:
on_wait_begin
,on_wait_end
. - Remove SIGQUIT handling.
Multiprocessing stream, handling system signals
New Features
rosny.process.ProcessStream
likeThreadStream
runs a task in a loop with the ability to set the loop frequency but in a separate process.rosny.signal
- set of functions for handling system signals (SIGINT, SIGTERM, SIGQUIT).rosny.timing.LoopRateManager
limits rate of a loop.daemon
parameter forThreadStream
/ProcessStream
indicating whether thread/process will a daemon or not.
Examples
- Threads vs processes on CPU-bound task (link).
Tests, code coverage, mypy
New Features
compiled
,stopped
,joined
predicate methods of streams.- Edit logging messages.
Docs
CI/CD
- Tests.
- Upload code coverage to codecov (codecov).
- Type checking with mypy.
Breaking Changes
rosny.thread.ThreadStream
: makerate_manager
as a public attribute.
Initial release
rosny is a simple library for building concurrency systems.
Features
rosny.thread.ThreadStream
runs a task in a loop with the ability to set the loop frequency.rosny.compose.ComposeStream
orchestrates several streams.rosny.timing.LoopRateManager
limits rate of a loop.
Examples
CI/CD
- Publish а package to PyPI.
- Check code style with flake8.
- Run tests with pytest.