Skip to main content

Asynchronous Component based Event Application Framework

Project description

circuits is a Lightweight Event driven and Asynchronous Application Framework for the Python Programming Language with a strong Component Architecture. circuits also includes a lightweight, high performance and scalable HTTP/WSGI web server (with some similar features to CherryPy) 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

Links:

  1. Home Page

  2. Issues

  3. Mailing List

  4. Development Snapshot

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

Download files

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

Source Distribution

circuits-1.3.1.tar.gz (445.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

circuits-1.3.1-py2.6.egg (353.7 kB view details)

Uploaded Egg

File details

Details for the file circuits-1.3.1.tar.gz.

File metadata

  • Download URL: circuits-1.3.1.tar.gz
  • Upload date:
  • Size: 445.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for circuits-1.3.1.tar.gz
Algorithm Hash digest
SHA256 c6b19e6570f50323d3aa433e64f6b9aba901d8d0be8f698bcb43fb8d2a4e8898
MD5 2d8ea917892a137b8dda413f7ff859dd
BLAKE2b-256 0047839f7291c98076102b60fd5e10cb72c6e0022c73b5640678aeb670f88dae

See more details on using hashes here.

File details

Details for the file circuits-1.3.1-py2.6.egg.

File metadata

  • Download URL: circuits-1.3.1-py2.6.egg
  • Upload date:
  • Size: 353.7 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for circuits-1.3.1-py2.6.egg
Algorithm Hash digest
SHA256 a4e6655841c9e98e06855b375dfd5458affd0f321a330ef52e89975c0a71ff89
MD5 c1a25a8d6fb8c8df55ecc350cee0fa30
BLAKE2b-256 36f5c9504aa5ba1fcf4f79abd9de81b08aa3b5878d9bea4b4b8e7cb49e3dcf21

See more details on using hashes here.

Supported by

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