Metadata-Version: 1.0
Name: circuits
Version: 1.3.3
Summary: Asynchronous Component based Event Application Framework
Home-page: http://bitbucket.org/prologic/circuits/
Author: James Mills
Author-email: James Mills, prologic at shortcircuit dot net dot au
License: MIT
Download-URL: http://bitbucket.org/prologic/circuits/downloads/
Description: circuits is a **Lightweight** **Event** driven and **Asynchronous**
        **Application Framework** for the
        `Python Programming Language <http://www.python.org/>`_ with a
        strong **Component** Architecture. circuits also includes a lightweight,
        high performance and scalable HTTP/WSGI web server
        (*with some similar features to* `CherryPy <http://www.cherrypy.org/>`_)
        as well as various I/O and Networking components.
        
        circuits has a clean architecture and has no required external dependencies.
        It has a small footprint and delivers a powerful set of features for building
        large, scalable, maintainable applications and systems. circuits comes with a
        suite of standard components that can be quickly utilized to create
        applications from a simple tool to a complex distributed web application. 
        
        circuits was created by and is primarily maintained by
        `James Mills <http://prologic.shortcircuit.net.au/>`_
        
        Links:
        
        1) `Home Page <http://bitbucket.org/prologic/circuits/>`_
        
        2) `Issues <https://bitbucket.org/prologic/circuits/issues>`_
        
        3) `Mailing List <http://groups.google.com/group/circuits-users>`_
        
        4) `Development Snapshot <http://bitbucket.org/prologic/circuits/get/tip.zip#egg=circuits-dev>`_
        
        
        
        1.3.3 (20110205)
        ================
        
        Features
        --------
        
        - circuits.core.workers: Add import of cpu_count/cpuCount as cpus from the
          respective multiprocessing/processing modules
        
        - circuits.web.app: Two apps newly added. WebConsole and MemoryMonitor
          See: http://codepad.org/iQwBgfdM for an example
        
        - circuits.core.debugger: If the Debugger isn't logging to a file or logger
          (*we're logging to sys.stderr*) it's useful to restrict the output for
          common terminal widths of 80.
        
          - circuits.core.debugger: Make chopping long lines when logging to sys.stderr
            optional with kwarg ``chop`` (**Default:** ``False``).
        
        - circuits.web.errors: Make traceback available on the HTTPError Event Object
          as self.traceback
        
        Bug Fixes
        ---------
        
        - circuits.web.main: Only start multiple processes if multiprocessing is
          actually available
        
        - circuits.core.pollers: Ignore IOError of EINTR (4)
        
        - circuits.app: Fixed a bug with loading a Logger instance and loading the
          Config instance (*``circuits.app needs`` to be refactored*)
        
        Examples
        --------
        
        - examples/web/jsonserializer.py: New example showing how to build a simple
          request filter that intercepts the return values of request handlers before
          they get added to the response body
        
        - examples/web/filtering.py: Fixed example
        
        1.3.2 (20110201)
        ================
        
        Bug Fixes
        ---------
        
        - Fixed several Python 2.5 incompatibilities.
        
        - circuits.web.wsgi: Fixed a bug with writing to the ``request.body``.
          (Forgot to rewing the ``StringIO`` instnace after writing to it)
        
        1.3.1 (20110131)
        ================
        
        Documentation
        -------------
        
        - Fixed documentation generation
        
        Features
        --------
        
        - circuits.core.manager: Deprecated the use of the sleep parameter/argument
          in ``Manager.start(...)`` and ``Manager.run(...)`` in favor of sleeping
          for the specified ``circuits.core.manager.TIMEOUT`` when/iif there are no
          tick functions to process (eg: Timer, pollers, etc)
        
          -- If aftering processing **Tick Functions** there are no resulting
             events to process then a sleep will occur for ``circuits.core.TIMEOUT``
             seconds.
        
        - circuits.core.Manager: Call ``self.stop`` right at the end of normal
          termination for script-like systems (eg: examples/cat.py)
        
        - circuits.core.Manager: If a KeyboardInterrupt or SystemExit exception
          is raised during a **Tick Function**, then re-raise it.
        
        Bug Fixes
        ---------
        
        - circuits.web.http: Fixed a bug with HTTP streaming
        
        - circuits.io: Fixed exceptions not being caught during shutdown
        
        - tests.core.test_bridge: Fixed and passing again :)
        
        - circuits.web.wsgi: Fixed a bug discovered when trying to deploy a
          circuits.web WSGI Application using the uwsgi server. In the case of
          an empty request body from the client being passed thorugh uwsgi to
          circuits.web - No Content-Length would be provided, but also any attempt
          to read from wsgi.input would block causing uwsgi to timeout
        
Keywords: event framework distributed concurrent component asynchronous
Platform: POSIX
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Environment :: Other Environment
Classifier: Environment :: Plugins
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 3.0
Classifier: Topic :: Adaptive Technologies
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Communications :: Chat :: Internet Relay Chat
Classifier: Topic :: Communications :: Email
Classifier: Topic :: Communications :: Email :: Mail Transport Agents
Classifier: Topic :: Database
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Server
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Clustering
Classifier: Topic :: System :: Distributed Computing
