Metadata-Version: 2.1
Name: cs.queues
Version: 20190812
Summary: some Queue subclasses and ducktypes
Home-page: https://bitbucket.org/cameron_simpson/css/commits/all
Author: Cameron Simpson
Author-email: cs@cskk.id.au
License: GNU General Public License v3 or later (GPLv3+)
Description: *Release 20190812*:
        _QueueIterator: do MultiOpenMixin.__init__ so that __str__ is functional.
        
        Queue-like items: iterable queues and channels.
        
        ## Class `Channel`
        
        A zero-storage data passage.
        Unlike a Queue(1), put() blocks waiting for the matching get().
        
        ## Function `IterablePriorityQueue(capacity=0, name=None, *args, **kw)`
        
        Factory to create an iterable PriorityQueue.
        
        ## Function `IterableQueue(capacity=0, name=None, *args, **kw)`
        
        Factory to create an iterable Queue.
        
        ## Class `NullQueue`
        
        MRO: `cs.resources.MultiOpenMixin`  
        A queue-like object that discards its inputs.
        Calls to .get() raise Queue_Empty.
        
        ### Method `NullQueue.__init__(self, blocking=False, name=None)`
        
        Initialise the NullQueue.
        
        Parameters:
        * `blocking`: if true, calls to .get() block until .shutdown().
          Default: False.
        * `name`: a name for this NullQueue.
        
        ## Class `PushQueue`
        
        MRO: `cs.resources.MultiOpenMixin`  
        A puttable object which looks like an iterable Queue.
        
        Calling .put(item) calls `func_push` supplied at initialisation
        to trigger a function on data arrival, whose processing is mediated
        queued via a Later for delivery to the output queue.
        
        ### Method `PushQueue.__init__(self, name, functor, outQ)`
        
        Initialise the PushQueue with the Later `L`, the callable `functor`
        and the output queue `outQ`.
        
        Parameters:
        * `functor` is a one-to-many function which accepts a single
          item of input and returns an iterable of outputs; it may be a
          generator. These outputs are passed to outQ.put individually as
          received.
        * `outQ` is a MultiOpenMixin which accepts via its .put() method.
        
        ## Class `TimerQueue`
        
        Class to run a lot of "in the future" jobs without using a bazillion
        Timer threads.
        
        
        
        # Release Log
        
        *Release 20190812*:
        _QueueIterator: do MultiOpenMixin.__init__ so that __str__ is functional.
        
        *Release 20181022*:
        Bugfix Channel, drasticly simplify PushQueue, other minor changes.
        
        *Release 20160828*:
        Use "install_requires" instead of "requires" in DISTINFO.
        TimerQueue.add: support optional *a and **kw arguments for func.
        Many bugfixes and internal changes.
        
        *Release 20150115*:
        More PyPI metadata fixups.
        
        *Release 20150111*:
        Initial PyPI release.
Keywords: python2,python3
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Description-Content-Type: text/markdown
