Metadata-Version: 1.1
Name: Quamash
Version: 0.3
Summary: 
Implementation of the PEP 3156 Event-Loop with Qt

Home-page: https://github.com/harvimt/quamash
Author: Mark Harviston, Arve Knudsen
Author-email: mark.harviston@gmail.com, arve.knudsen@gmail.com
License: BSD
Description: =======
        Quamash
        =======
        Implementation of the `PEP 3156`_ Event-Loop with Qt
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        :author: Mark Harviston <mark.harviston@gmail.com>, Arve Knudsen <arve.knudsen@gmail.com>
        
        .. image:: https://travis-ci.org/harvimt/quamash.png?branch=master
            :target: https://travis-ci.org/harvimt/quamash
        
        Requirements
        ============
        Quamash requires Python 3.4 and either PyQt 5 or PySide.
        
        Installation
        ============
        pip install quamash
        
        Usage
        =====
        
        .. code:: python
        
            import sys
            import asyncio
            import time
        
            from PyQt5.QtWidgets import QApplication, QProgressBar
            from quamash import QEventLoop, QThreadExecutor
        
            app = QApplication(sys.argv)
            progress = QProgressBar()
            loop = QEventLoop(app)
        
            progress.setRange(0, 99)
            progress.show()
        
            @asyncio.coroutine
            def master():
                yield from first_50()
                with QThreadExecutor(1) as exec:
                    yield from loop.run_in_executor(exec, last_50)
                # TODO announce completion?
        
            @asyncio.coroutine
            def first_50():
                for i in range(50):
                    progress.setValue(i)
                    yield from asyncio.sleep(.1)
        
            def last_50():
                for i in range(50,100):
                    loop.call_soon_threadsafe(progress.setValue, i)
                    time.sleep(.1)
        
            with loop:
                loop.run_until_complete(master())
        
        Testing
        =======
        Quamash is tested with `pytest`_; in order to run the test suite, just execute py.test on the
        commandline. The tests themselves are beneath the 'tests' directory.
        
        License
        =======
        You may use, modify, and redistribute this software under the terms of the `BSD License`_.
        See LICENSE.
        
        Name
        ====
        Tulip related projects are being named after other flowers, Quamash is one of the few flowers that
        starts with a "Q".
        
        .. _`PEP 3156`: http://legacy.python.org/dev/peps/pep-3156/
        .. _`pytest`: http://pytest.org
        .. _`BSD License`: http://opensource.org/licenses/BSD-2-Clause
        
Keywords: Qt,asyncio
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3.4
Classifier: Environment :: X11 Applications :: Qt
