Socket
Socket
Sign inDemoInstall

py3-bencode

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    py3-bencode

Python 3 bencoding implementation


Maintainers
1

Readme

Python 3 bencoding library

Build Status

Python 3 bytearray bencoding library.

Encode all data into byte. Useful for networking.

Example

>>> from bencode import bencode, bdecode


>>> foo = bencode({"foo": [0, -1, 2, "3", {"4": 5}], "bar": {"baz": 1}})
>>> print(foo)
b'd3:bard3:bazi1ee3:fooli0ei-1ei2e1:3d1:4i5eeee'

>>> bar = bdecode(foo)
>>> print(bar)
{b'bar': {b'baz': 1}, b'foo': [0, -1, 2, b'3', {b'4': 5}]}

decoder for bdecode

Optional argument in bdecode function, provide decode bytes to another types. It can be helpful for decode dict key into strings.

decoder is a callback function with arguments: field_type, value

  • field_type str, possible values: "key", "value";
  • value bytes.
>>> def custom_decoder(field_type, value):
...     if field_type == "key":
...         return str(value, "ascii")
...     elif field_type == "value":
...         return str(value, "utf-8")
...     else:
...         raise Exception("'field_type' can pass only 'key' and 'value' values")
...     

>>> bar = bdecode(foo, decoder=custom_decoder)
>>> print(bar)
{'bar': {'baz': 1}, 'foo': [0, -1, 2, '3', {'4': 5}]}

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc