.. _Python Programming Language: http://www.python.org/
.. _#circuits IRC Channel: http://webchat.freenode.net/?randomnick=1&channels=circuits&uio=d4
.. _FreeNode IRC Network: http://freenode.net
.. _Python Standard Library: http://docs.python.org/library/
.. _MIT License: http://www.opensource.org/licenses/mit-license.php
.. _Create an Issue: https://bitbucket.org/circuits/circuits/issue/new
.. _Mailing List: http://groups.google.com/group/circuits-users
.. _Project Website: http://circuitsframework.com/
.. _PyPi Page: http://pypi.python.org/pypi/circuits
.. _Read the Docs: http://circuits.readthedocs.org/en/latest/
.. _View the ChangeLog: http://circuits.readthedocs.org/en/latest/changes.html
.. _Downloads Page: https://bitbucket.org/circuits/circuits/downloads


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.

- Visit the `Project Website`_
- `Read the Docs`_
- Download it from the `Downloads Page`_
- `View the ChangeLog`_

.. image:: https://pypip.in/v/circuits/badge.png?text=version
   :target: https://pypi.python.org/pypi/circuits
   :alt: Latest Version

.. image:: https://pypip.in/py_versions/circuits/badge.svg
   :target: https://pypi.python.org/pypi/circuits
   :alt: Supported Python Versions

.. image:: https://pypip.in/implementation/circuits/badge.svg
   :target: https://pypi.python.org/pypi/circuits
   :alt: Supported Python implementations

.. image:: https://pypip.in/status/circuits/badge.svg
   :target: https://pypi.python.org/pypi/circuits
   :alt: Development Status

.. image:: https://pypip.in/d/circuits/badge.png
   :target: https://pypi.python.org/pypi/circuits
   :alt: Number of Downloads

.. image:: https://pypip.in/format/circuits/badge.svg
   :target: https://pypi.python.org/pypi/circuits
   :alt: Format

.. image:: https://pypip.in/license/circuits/badge.svg
   :target: https://pypi.python.org/pypi/circuits
   :alt: License

.. image:: https://requires.io/bitbucket/circuits/circuits/requirements.png?branch=default
   :target: https://requires.io/bitbucket/circuits/circuits/requirements?branch=default
   :alt: Requirements Status


Examples
--------


.. include:: examples/index.rst


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, 3.4
- pypy 2.0, 2.1, 2.2


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`_ extract it and install using::

    > python setup.py install


.. note::
    You can install the `development version
    <https://bitbucket.org/circuits/circuits/get/tip.tar.gz#egg=circuits-dev>`_
    via ``pip install circuits==dev``.


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 <http://twitter.com/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`_.
