{"id":23351,"library":"bencode2","title":"bencode2","description":"A fast and correct bencode serialize/deserialize library for Python. Version 0.3.30, requires Python >=3.10. Active development on GitHub.","status":"active","version":"0.3.30","language":"python","source_language":"en","source_url":"https://github.com/trim21/bencode-py","tags":["bencode","torrent","serialization","decode","encode"],"install":[{"cmd":"pip install bencode2","lang":"bash","label":"install from PyPI"}],"dependencies":[],"imports":[{"note":"'bencode' is an old, incompatible library. Use bencode2 with alias.","wrong":"import bencode","symbol":"bencode","correct":"import bencode2 as bencode"},{"note":"Wrong import from old library.","wrong":"from bencode import decode","symbol":"decode","correct":"from bencode2 import decode"},{"note":"Error class is BencodeDecodeError, not DecodeError.","wrong":"from bencode2 import DecodeError","symbol":"BencodeDecodeError","correct":"from bencode2 import BencodeDecodeError"}],"quickstart":{"code":"import bencode2 as bencode\n\ndata = bencode.encode({'key': 'value', 'list': [1, 2, 3]})\nprint(data)  # b'd4:key5:value4:listli1ei2ei3eee'\n\ndecoded = bencode.decode(data)\nprint(decoded)  # {'key': 'value', 'list': [1, 2, 3]}\n\ntry:\n    bencode.decode(b'invalid')\nexcept bencode.BencodeDecodeError as e:\n    print(f'Decode error: {e}')","lang":"python","description":"Encode and decode bencode data."},"warnings":[{"fix":"Use 'import bencode2 as bencode' or replace 'bencode' with 'bencode2' in imports.","message":"Module renamed from 'bencode' to 'bencode2' in v0.3.0. Import as 'bencode2' (or alias).","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Uninstall 'bencode' and install 'bencode2'. Update imports.","message":"The old 'bencode' library (not bencode2) is unmaintained and has bugs. bencode2 is the replacement.","severity":"deprecated","affected_versions":"N/A"},{"fix":"Catch 'bencode2.BencodeDecodeError'.","message":"Error class is 'BencodeDecodeError', not 'DecodeError' or 'BencodeError'.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install bencode2' and use 'import bencode2 as bencode'.","cause":"Installed old 'bencode' package or missing 'bencode2'.","error":"ModuleNotFoundError: No module named 'bencode'"},{"fix":"Install bencode2: 'pip install bencode2' and import as 'import bencode2 as bencode'.","cause":"Using old 'bencode' library which has different API.","error":"AttributeError: module 'bencode' has no attribute 'decode'"},{"fix":"Use 'from bencode2 import BencodeDecodeError' and catch that.","cause":"Catching 'DecodeError' but correct exception is 'BencodeDecodeError'.","error":"bencode2.exceptions.DecodeError: ..."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}