Archive for the 'News' Category

130,000 IPC Calls per Second in Python

rfoo is a new Python RPC package which can do 130,000 IPC calls per second on a regular PC. It includes a fast serialization module called rfoo.marsh which extends the Python built in marshal module by eliminating serialization of code objects and protecting against bad input. The result is a safe to use ultra fast serializer. Go get it at http://code.google.com/p/rfoo/

Interface of rfoo.marsh

rfoo.marsh.dumps(expression)
rfoo.marsh.loads(binary_string)

Serve RPC method to clients

class MyHandler(rfoo.BaseHandler):
    def echo(self, str):
        return str

rfoo.InetServer(MyHandler).start(port=50000)

Call method on RPC server

c = rfoo.InetConnection().connect(port=50000)
rfoo.Proxy(c).echo('Hello, world!')

Enter JPC

jpc is a fast Python JSON RPC package, partially compliant with JSON-RPC version 1 - http://code.google.com/p/python-jpc/

I started jpc trying to figure out why an existing Python RPC package was slow and before long I found myself hacking at a new package.

On my 2.4GHz Core 2 Duo laptop it can start/end 4000 new local TCP connections, handle 13,000 local RPC calls and 40,000 JSON-RPC notifications per second per process. Here is an example:

# Serve a method to clients

class MyHandler(jpc.BaseHandler):
    def echo(self, str):
        return str

jpc.start_server(host='localhost', port=50000, handler=MyHandler)

# Call a method on server

c = jpc.connect(host='localhost', port=50000)
jpc.Proxy(c).echo('Hello, world!')

Winpdb 1.4.6 Tychod Released

Winpdb 1.4.6 Tychod is now available for download at http://winpdb.org/download. As of this version Winpdb can debug runaway recursions. Runway recursions are an Achilles Heel of all Python debuggers. Since debugger logic is invoked with each new script frame, recursion limit is naturally hit by debugger code causing it to break down surprised, corrupted and defeated. First among its kind, Winpdb now handles recursions gallantly, effortlessly, with a smile. Try it.

Winpdb 1.4.4 Tychod Released

Winpdb 1.4.4 Tychod is available for download at http://winpdb.org/download. The new version fixes a major regression to exception analysis.

Winpdb 1.4.2 Tychod Released

Winpdb 1.4.2 Tychod is available for download at http://winpdb.org/download. The new version is compatible with Python 3.0 rc2. GNU/Linux users, please use the source package. Windows users with Python 2.6 or later, please read the instructions in the download page.

Stani Michiels

Stani Michiels, the author of Stani’s Python Editor (SPE) who is also an architect and artist won a design contest for a new Dutch commemorative 5 Euro coin. Here is the full story as told by him: http://pythonide.blogspot.com/2008/10/how-to-make-money-with-free-software.html

Stani is also the one who started me working on Winpdb three years ago when he was looking for a debugger for SPE.

Congratulations Stani!

Winpdb 1.4.0 Tychod Released

Winpdb 1.4.0 Tychod is available for download. It is now compatible with Python 2.6 and 3.0 beta 2 and the step-into-child-process functionality is working again. The full list of changes is available at the download page.

Did you know that on GNU/Linux Winpdb allows you to magically step into a spawned child process?

A Mailing List is Born

As if the world needed another mailing list, a new Google Group mailing list has been created to which you can post anything related to Winpdb: http://groups.google.com/group/winpdb

Debugging Explained

Chris Lasher recently migrated his excellent tutorial on Winpdb and debugging in general to the Winpdb Wiki. Thanks Chris!

A Wiki for Winpdb

I have set up an initial Wiki for Winpdb in response to a comment by BobC about collaboration. In addition Winpdb is now published as a Mercurial repository at: winpdb.org/cgi-bin/hgweb.cgi

The Wiki is about development of Winpdb. Now its up to you. Send patches, ideas and good will. Collaborate and make Winpdb better.

Next Page »