BitTorrent is a communications protocol of peer-to-peer file sharing ("P2P") which is used to distribute data and electronic files over the Internet. BitTorrent is one of the most common protocols for transferring large files, such as digital video files containing TV shows or video clips or digital audio files containing songs. Peer-to-peer networks have been estimated to collectively account for approximately 43% to 70% of all Internet traffic (depending on location) as of February 2009.Wikipedia
The goal of this project is to provide a useful, simple BitTorrent client in the Python3 programming language using well defined and utilized libraries.
I will be using nothing more to create this client than the BitTorrent Unofficial Spec. While the BitTorrent protocol is well used, it is not define concretely. Python is not a common language to develop a BitTorrent client in due to it's low level nature. I believe that it will be a challenging and interesting project and help better understand this common and useful internet protocol.