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" -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html