Contribute Media
A thank you to everyone who makes this possible: Read More

Creating a Bittorrent Client using Asyncio


The purpose of this talk is explain the BitTorrent protocol and relevant Asyncio API used to create a BitTorrent client that can actually download a ".torrent" file. The BitTorrent application will be built and presented as a set of steps (code snippets, i.e. coroutines) that implement various parts of the protocol and build up a final program that can download a file. Talk will cover,

  • Parsing a .torrent file
  • Connecting to a tracker
  • Establishing concurrent peer network connections using Asyncio
  • Torrent download strategy
  • Relevant Asyncio/event loop concepts where necessary

Attendees need not know Asyncio and will learn the relevant functions needed to accomplish the task. No prior knowledge of the BitTorrent protocol is necessary either.

Improve this page