Install & Compatibility
Where this runs
tested against v0.3.30 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.034s · 22MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.0s · import 0.030s · 19MB
18MB installed
● package 18MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
bencode
✓ import bencode2 as bencode
✗ import bencode
'bencode' is an old, incompatible library. Use bencode2 with alias.
decode
✓ from bencode2 import decode
✗ from bencode import decode
Wrong import from old library.
BencodeDecodeError
✓ from bencode2 import BencodeDecodeError
✗ from bencode2 import DecodeError
Error class is BencodeDecodeError, not DecodeError.
Encode and decode bencode data.
import bencode2 as bencode
data = bencode.encode({'key': 'value', 'list': [1, 2, 3]})
print(data) # b'd4:key5:value4:listli1ei2ei3eee'
decoded = bencode.decode(data)
print(decoded) # {'key': 'value', 'list': [1, 2, 3]}
try:
bencode.decode(b'invalid')
except bencode.BencodeDecodeError as e:
print(f'Decode error: {e}')
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'bencode'
Installed old 'bencode' package or missing 'bencode2'.
fixRun 'pip install bencode2' and use 'import bencode2 as bencode'.
AttributeError: module 'bencode' has no attribute 'decode'
Using old 'bencode' library which has different API.
fixInstall bencode2: 'pip install bencode2' and import as 'import bencode2 as bencode'.
bencode2.exceptions.DecodeError: ...
Catching 'DecodeError' but correct exception is 'BencodeDecodeError'.
fixUse 'from bencode2 import BencodeDecodeError' and catch that.
Upgrade
Version history
0.3.30latest on PyPI · released Apr 11, 2026
Audit
Dependencies
No dependency data recorded yet.