[IronPython] Kamaelia and IronPython (was: Hosting IronPython 2.X in .NET app)

M. David Peterson xmlhacker at gmail.com
Wed Jul 11 10:34:14 CEST 2007

On 7/11/07, Michael Sparks <ms at cerenity.org> wrote:
> On Wednesday 11 July 2007 01:42, M. David Peterson wrote:
> > P2P audio streaming
> A *very* simplistic P2P streaming core written in an evening (last friday
> evening specifically) using Kamaelia can be found here: (really needs
> buffering, detection of broken connections, multiple sources, but does
> work)
> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/LUGRadio/SimpleSwarm.py?view=markup
> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/LUGRadio/SimpleSwarmRadioSource.py?view=markup

Oh, this is cool!

It was written for my presentation at LUG Radio Live this past weekend in
> Wolverhampton (UK). Gives an idea of the compactness of code you can get
> if
> you allow concurrency to be naturally handled in the system by thinking of
> them as communicating components.

It's a powerful analogy, for sure!  Right inline with the Smalltalk way of
thinking about programming, something I truly appreciate.  Come to think of
it, the combination of Vista Smalltalk/DLR[1] + IronPython + Kamaelia +
Silverlight (once Silverlight gains support for sockets) == my mouth
drooling with the combination of possibilities. :D

Peter (Cc'd): Have you had a chance to look @ Kamaelia[2]?

[1]: http://vistascript.net/
[2]: http://kamaelia.org/

The first file (220 lines) is a generic peer. The second file (170 lines) is
> a
> source peer - specifically it captures BBC Radio 1 off broadcast from DVB
> digital TV broadcasts and then restransmits it. (Its an example source -
> someone actually intent on using this would have to replace that source
> with
> a source they have a license to redistribute)

Am playing with this now.  In the mean time, one problem I ran into that
requires the yet to be implemented nested yield statements in IP 2.0,

IronPython 1.1 (1.1) on .NET 2.0.50727.42
> Copyright (c) Microsoft Corporation. All rights reserved.
> >>> from Kamaelia.Chassis.Pipeline import Pipeline
> >>> from Kamaelia.Protocol.HTTP.HTTPClient import *
> Traceback (most recent call last):
>   File HTTPClient, line unknown, in Initialize
> SyntaxError: yield in more than one try blocks
> (/Users/mdavid/Projects/extf.googlecode.com/vendor/IPCE-r6/Lib/Kamaelia/Internet/TCPClient.py,
> line 222)
> >>>

Beyond the above issue, things seem to be playing nicely which is really
great!  I'll run through the provided sample now and let you know if I run
into any issues.

Thanks, Michael!


M. David Peterson
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20070711/8ca624eb/attachment.html>

More information about the Ironpython-users mailing list