views:

596

answers:

5
+4  Q: 

Distributed python

Hi all, what is the best python framework to make distributed apps? For example to build a P2P app.

Thanks

A: 

You could download the source of BitTorrent for starters and see how they did it.

http://download.bittorrent.com/dl/

Ben Hoffstein
bittorrent uses twisted.
Thomas Vander Stichele
A: 

If it's something where you're going to need tons of threads and need better concurrent performance, check out Stackless Python. Otherwise you could just use the SOAP or XML-RPC protocols. In response to Ben's post, if you don't want to look over the BitTorrent source, you could just look at the article on the BitTorrent protocol.

Chris Bunch
A: 

You could checkout pyprocessing which will be included in the standard library as of 2.6. It allows you to run tasks on multiple processes using an API similar to threading.

Aaron Maenpaa
+8  A: 

I think you mean "Networked Apps"? Distributed means an app that can split its workload among multiple worker clients over the network.

You probably want. Twisted

Bash
+2  A: 

You probably want Twisted. There is a P2P framework for Twisted called "Vertex". While not actively maintained, it does allow you to tunnel through NATs and make connections directly between users in a very abstract way; if there were more interest in this sort of thing I'm sure it would be more actively maintained.

Glyph