Bittorrent protocol implementation.

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD-3-Clause licensed by Sam Truzjan
Maintained by Sam Truzjan


A library for making Haskell applications which use bittorrent protocol easy. This package aims to be a fast thin layer and at the same time provide both:

  • Concise high level API for typical usage scenarious.
  • More straightforward API if you need more fine grained control.

Currently it provides serialization and deserealization of core datatypes, some widely used routines and core types.


See list of implemented BEPs.


For documentation see haddock generated documentation.

Build Status

Build Status


This library is written and maintained by Sam T.

Feel free to report bugs and suggestions via github issue tracker or the mail.


2013-11-25 Sam Truzjan <>

* Version
* use Pretty class from pretty-class package;
* Data.Torrent.Client.hs:
* /tests/: fixed;

2013-11-21 Sam Truzjan <>


* InfoHash.hs: added rendering to Text.
* Torrent.hs: added pretty printing and content type.
* Magnet.hs: added constructors from Torrent datatype.
* New: added Data.Torrent.Client, Data.Torrent.Progress,
Network.Bittorrent.Core.PeerId, Network.BitTorrent.PeerAddr

2013-11-01 Sam Truzjan <>

Initial version:
comments powered byDisqus