6

What is the best python framework to create distributed applications? For example to build a P2P app.

5 Answers 5

9

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

Sign up to request clarification or add additional context in comments.

Comments

3

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.

Comments

2

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.

Comments

1

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

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

Comments

1

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.