Skip to main content

A simple library for building concurrency applications.

Project description

rosny

PyPI version Test CodeFactor codecov Downloads

rosny is a simple library for building concurrency systems.

Installation

From pip:

pip install rosny

From source:

pip install -U git+https://github.com/lRomul/rosny.git@master

Example

from queue import Queue
from rosny import ThreadStream, ComposeStream


class SenderStream(ThreadStream):
    def __init__(self, queue: Queue):
        super().__init__(loop_rate=30)
        self.queue = queue
        self.count = 0

    def work(self):
        self.queue.put(self.count)
        self.count += 1


class ReceiverStream(ThreadStream):
    def __init__(self, queue: Queue):
        super().__init__()
        self.queue = queue

    def work(self):
        value = self.queue.get(timeout=1)
        self.logger.info(f'{value}')


class MainStream(ComposeStream):
    def __init__(self):
        super().__init__()
        queue = Queue()
        self.sender = SenderStream(queue)
        self.receiver = ReceiverStream(queue)


if __name__ == "__main__":
    stream = MainStream()
    stream.start()
    stream.wait(10)
    stream.stop()
    stream.join()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosny-0.0.4.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

rosny-0.0.4-py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page