rosny

Lightweight library for building concurrent systems

MIT License

Downloads
299
Stars
12
Committers
1

Bot releases are hidden (Show)

rosny - Streams -> Nodes Latest Release

Published by lRomul 6 months ago

Breaking Changes

  • Rename all Streams to Nodes

Full Changelog: https://github.com/lRomul/rosny/compare/v0.0.6...v0.1.0

rosny - Logo, multiprocessing examples

Published by lRomul about 2 years ago

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.

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.
rosny - Multiprocessing stream, handling system signals

Published by lRomul over 3 years ago

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).
rosny - Tests, code coverage, mypy

Published by lRomul over 3 years ago

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.
rosny - Initial release

Published by lRomul over 3 years ago

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.
Package Rankings
Top 18.24% on Pypi.org
Badges
Extracted from project README
PyPI version Test CodeFactor codecov Downloads