Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/flying-sheep/bcode

bencoding & -decoding library
https://github.com/flying-sheep/bcode

Last synced: about 1 month ago
JSON representation

bencoding & -decoding library

Awesome Lists containing this project

README

        

bcoding
=======

yet another… but mine is fast as hell.

install
-------

.. code-block:: bash

pip install bcoding

use
---

.. code-block:: python

from bcoding import bencode, bdecode

decoding:
~~~~~~~~~

.. code-block:: python

# decoding from binary files or streams:
with open('some.torrent', 'rb') as f:
torrent = bdecode(f)
print(torrent['announce'])

# decoding from (byte)strings:
one = bdecode(b'i1e')
two = bdecode('3:two')

encoding (note that any iterable or mapping can be bencoded):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: python

# encoding into binary files or streams:
bencode({'a': 0}, sys.stdout.buffer) # ⇒ d1:ai0ee

# encoding to bytestrings:
assert bencode(('a', 0)) == b'l1:ai0ee'