ANN: circuits-1.0a1 ready for testing

James Mills prologic at shortcircuit.net.au
Thu Nov 6 16:19:38 CET 2008


Hi all,

I'm pleased to announce an early release of
circuits-1.0a1.

Circuits is an event-driven framework with a focus on Component Software
Architectures where System Functionality is defined in Components.
Components communicate with one another by propagating events throughout
the system. Each Component can react to events and expose events to other
parts of the system Components are able to manage their own events and
can also be linked to other Components.

Circuits has a clean architecture and has no external dependencies on any
other library. It's simplistic design is unmatchable but yet delivers a
powerful framework for building large, scalable, maintainable applications
and systems. Circuits was a core integral part of the
[http://trac.softcircuit.com.au/pymills pymills] library developed in 2006
and was partly inspired by the [http://trac.edgewall.org Trac] architecture.

Here are two simple examples:

== Hello World! ==
{{{
#!python
>>> from circuits.core import listener, Component, Event, Manager
>>>
>>> class Hello(Component):
...   @listener("hello")
...   def onHELLO(self):
...      print "Hello World!"
>>> manager = Manager()
>>> manager += hello
>>> manager.push(Event(), "hello")
>>> manager.flush()
Hello World!
}}}

== Hello Web! ==
{{{
#!python
from circuits.lib.web import Server, Controller

class HelloWorld(Controller):

   def index(self, *args, **kwargs):
      return "Hello World!"

server = Server(8000)
server += HelloWorld()
server.run()
}}}

Please visit the circuits website for more information
about circuits, or to file bug reports or enhancements.

http://trac.softcircuit.net.au/circuits/

cheers
James

-- 
--
-- "Problems are solved by method"


More information about the Python-announce-list mailing list