Asynchronous Component based Event Application Framework
Project description
Overview
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 compliant web server as well as various I/O and Networking components.
To take full advantage of circuits and its architecture, circuits encourages you to design your application in terms of loosely coupled components. Circuits has a very powerful message passing system that enables components to interact with each other via events. Applications written this way tend to be more maintainable, easier to develop and scale to complex systems.
circuits’ Loosely Coupled Component Architecture allows for a high level of Reuse and Scalability. Simpler components can be combined together to form Complex Components and provide higher level functionality and abstraction. Much of the circuits component library is designed and built this way.
Documentation: http://packages.python.org/circuits or Read the Docs.
Project website: https://bitbucket.org/prologic/circuits/
PyPI page: http://pypi.python.org/pypi/circuits
Features
event driven
concurrency support
component architecture
asynchronous I/O components
no required external dependencies
full featured web framework (circuits.web)
coroutine based synchronization primitives
Requirements
circuits has no dependencies beyond the Python Standard Library.
Supported Platforms
Linux, FreeBSD, Mac OS X, Windows
Python 2.6, 2.7, 3.2, 3.3
pypy 2.0
Installation
The simplest and recommended way to install circuits is with pip. You may install the latest stable release from PyPI with pip:
> pip install circuits
If you do not have pip, you may use easy_install:
> easy_install circuits
Alternatively, you may download the source package from the PyPi Page or the Downloads page on the Website; extract it and install using:
> python setup.py install
License
circuits is licensed under the MIT License.
Feedback
We welcome any questions or feedback about bugs and suggestions on how to improve circuits. Let us know what you think about circuits. @pythoncircuits.
Do you have suggestions for improvement? Then please Create an Issue with details of what you would like to see. I’ll take a look at it and work with you to either incorporate the idea or find a better solution.
Community
There is also a small community of circuits enthusiasts that you may find on the #circuits IRC Channel on the FreeNode IRC Network and the Mailing List.
Release Notes - circuits-2.1.0 (<release>)
This release adds the following new features to circuits:
Python 3 support.
Windows support.
PyPy support.
IPv6 support.
Better WSGI support.
Fully documented examples.
Component Interface querying.
And many bug fixes!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file circuits-2.1.0.zip
.
File metadata
- Download URL: circuits-2.1.0.zip
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cccca389a0c55bd3d17e418b609765d50c08737a4c93593f4460b37398ed8ed |
|
MD5 | 0da67cbdb111115674428e694e1a2bbb |
|
BLAKE2b-256 | 37c8866f8d3360fe654b30385ec7d1cf2facfb824d8661bb104e789bbe61a158 |
File details
Details for the file circuits-2.1.0.tar.gz
.
File metadata
- Download URL: circuits-2.1.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9da4b1a92bc12d5a56b72f2c345847e8991595003a3a0076e55ac9f1b52404e6 |
|
MD5 | 267f920f6cdfe88c169a9b0871084c99 |
|
BLAKE2b-256 | 203e6c4c6bbc31d3ac21dfee9bae0c393e326acaac3a3dd32f96cf30ab005807 |
File details
Details for the file circuits-2.1.0.tar.bz2
.
File metadata
- Download URL: circuits-2.1.0.tar.bz2
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 273e426e5d7be69172913013df5a762842ee52d62186390a76dcaa90610b9e48 |
|
MD5 | db0fad3a2f72e4cbc1012b5cd98c5bfa |
|
BLAKE2b-256 | cd6b7d27629ce774785232a17edf4d5734b7552ac6782ed6e46cf35f6d9d0162 |
File details
Details for the file circuits-2.1.0-py3.3.egg
.
File metadata
- Download URL: circuits-2.1.0-py3.3.egg
- Upload date:
- Size: 526.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d2c598729b91386ee2ca034d8f5d83f2b0bfa96d17e60004a254f480eb2406d |
|
MD5 | 081f14c6928630b32e9ceac45a6bbe83 |
|
BLAKE2b-256 | a5665854fd9d3b62dc18f21b55f5bf52d5dccd2dca486b597517260cfc06c29e |
File details
Details for the file circuits-2.1.0-py3.2.egg
.
File metadata
- Download URL: circuits-2.1.0-py3.2.egg
- Upload date:
- Size: 513.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 341bcae95673b200b0e80e0c95a0f8297f2c754bc54f644d19e537009acd6f8d |
|
MD5 | 71e82275ad9b74976a8bcb715ca1aab5 |
|
BLAKE2b-256 | d8d2b13c68104d6edeb9b9862759acf880f5902dc117d77d0d3a474c5e4182a8 |
File details
Details for the file circuits-2.1.0-py2.7.egg
.
File metadata
- Download URL: circuits-2.1.0-py2.7.egg
- Upload date:
- Size: 506.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01e4e015643fc45f09a34a7349470a33b01d7e01717d34a6bd897837e7aa39b9 |
|
MD5 | 635d214569e8d93222a4dc91b4a124c7 |
|
BLAKE2b-256 | 6f3de7b9ff6e86498c46b9165cc2e5d0d6fdb705aeba1cf56325b745616c6755 |
File details
Details for the file circuits-2.1.0-py2.6.egg
.
File metadata
- Download URL: circuits-2.1.0-py2.6.egg
- Upload date:
- Size: 507.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52ff33d8f617ea25db399ec38042f6de312514a8a03ff2a66a82a0fca36468af |
|
MD5 | 9a32f438e00279e52b82ab54496018b2 |
|
BLAKE2b-256 | eff1c67372050be2b39b08b221d53250c60e582df4cf6a879ef8b0413146e9b2 |