Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/circuits/circuits

circuits is a Lightweight Event driven and Asynchronous Application Framework for the Python Programming Language with a strong Component Architecture.
https://github.com/circuits/circuits

asynchronous asyncio component coroutines distributed events framework http http-client http-sever python rest-api sockets web websockets

Last synced: about 1 month ago
JSON representation

circuits is a Lightweight Event driven and Asynchronous Application Framework for the Python Programming Language with a strong Component Architecture.

Awesome Lists containing this project

README

        

[![Build Status](https://github.com/circuits/circuits/actions/workflows/python-app.yml/badge.svg)](https://github.com/circuits/circuits/actions/workflows/python-app.yml)

[![codecov](https://codecov.io/gh/circuits/circuits/branch/master/graph/badge.svg)](https://codecov.io/gh/circuits/circuits)

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 compliant web server as well as various I/O and Networking components.

- [Website](http://circuitsframework.com/)
- [Downloads](https://github.com/circuits/circuits/releases)
- [Documentation](http://circuits.readthedocs.org/en/latest/)

Got questions?

- [Ask a Question](http://stackoverflow.com/questions/ask) (Tag it: `circuits-framework`)

Examples
========

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](http://docs.python.org/library/).

Supported Platforms
===================

- Linux, FreeBSD, Mac OS X, Windows
- Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12
- pypy (the newer the better)

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](http://pypi.python.org/pypi/circuits) or the [Downloads](https://github.com/circuits/circuits/releases) extract it and install using:

$ python setup.py install

> **note**
>
> You can install the [development version](https://github.com/circuits/circuits/archive/master.zip#egg=circuits-dev)
> via `pip install circuits==dev`.
>
License
=======

circuits is licensed under the [MIT License](http://www.opensource.org/licenses/mit-license.php).

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](https://github.com/circuits/circuits/issues/new) 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 are also several places you can reach out to the circuits community:

- [Mailing List](http://groups.google.com/group/circuits-users)
- [\#circuits IRC Channel](https://web.libera.chat/#circuits) on the [Libera.Chat IRC Network](https://libera.chat)
- [Ask a Question](http://stackoverflow.com/questions/ask) on [Stackoverflow](http://stackoverflow.com/) (Tag it: `circuits-framework`)

------------------------------------------------------------------------

Disclaimer
==========

Whilst I (James Mills) continue to contribute and maintain the circuits project I do not represent the interests or business of my employer Facebook Inc. The contributions I make are of my own free time and have no bearing or relevance to Facebook Inc.