Skip to content

Releases: lRomul/rosny

Streams -> Nodes

16 Apr 16:10
Compare
Choose a tag to compare

Breaking Changes

  • Rename all Streams to Nodes

Full Changelog: v0.0.6...v0.1.0

Logo, multiprocessing examples

17 Oct 17:53
Compare
Choose a tag to compare

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 to loop.
  • Rename on_work_loop_begin callback method to on_loop_begin.
  • Rename on_work_loop_end callback method to on_loop_end.

Loop rate profiling, process start methods, new callbacks, common state

28 Jun 22:51
Compare
Choose a tag to compare

New Features

  • Loop rate profiling via parameter profile_interval of ThreadStream and ProcessStream.
  • ProcessStream now works with any methods to start a process: spawn, fork, and forkserver. User should use multiprocessing.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

22 Jun 20:39
Compare
Choose a tag to compare

New Features

  • rosny.process.ProcessStream like ThreadStream 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 for ThreadStream/ProcessStream indicating whether thread/process will a daemon or not.

Examples

  • Threads vs processes on CPU-bound task (link).

Tests, code coverage, mypy

19 Jun 11:24
Compare
Choose a tag to compare

New Features

  • compiled, stopped, joined predicate methods of streams.
  • Edit logging messages.

Docs

  • Add badges to README.md.
    PyPI versionTestCodeFactorcodecovDownloads

CI/CD

  • Tests.
  • Upload code coverage to codecov (codecov).
  • Type checking with mypy.

Breaking Changes

  • rosny.thread.ThreadStream: make rate_manager as a public attribute.

Initial release

17 Jun 13:06
Compare
Choose a tag to compare

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

  • Common counter (link).
  • Sender and receiver (link).

CI/CD

  • Publish а package to PyPI.
  • Check code style with flake8.
  • Run tests with pytest.