Registry / serialization / bencode2

bencode2

JSON →
library0.3.30pypypi✓ verified 90d ago

A fast and correct bencode serialize/deserialize library for Python. Version 0.3.30, requires Python >=3.10. Active development on GitHub.

pip install bencode2
INSTALL
IMPORT
SIG · BENCODE2
B
bencode2
serializationpythonv0.3.30
Install
2.0s avg
Import
32ms
Disk
18MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
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
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.034s · 22MB
glibc
py 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}')
Debug
Known issues
breakingModule renamed from 'bencode' to 'bencode2' in v0.3.0. Import as 'bencode2' (or alias).
fix
Use 'import bencode2 as bencode' or replace 'bencode' with 'bencode2' in imports.
affects: >=0.3.0
deprecatedThe old 'bencode' library (not bencode2) is unmaintained and has bugs. bencode2 is the replacement.
fix
Uninstall 'bencode' and install 'bencode2'. Update imports.
affects: N/A
gotchaError class is 'BencodeDecodeError', not 'DecodeError' or 'BencodeError'.
fix
Catch 'bencode2.BencodeDecodeError'.
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'bencode'
Installed old 'bencode' package or missing 'bencode2'.
fix
Run 'pip install bencode2' and use 'import bencode2 as bencode'.
AttributeError: module 'bencode' has no attribute 'decode'
Using old 'bencode' library which has different API.
fix
Install bencode2: 'pip install bencode2' and import as 'import bencode2 as bencode'.
bencode2.exceptions.DecodeError: ...
Catching 'DecodeError' but correct exception is 'BencodeDecodeError'.
fix
Use '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.

Agent activity
26 hits · last 30 days
node
22
OpenAI (training)
2
Resources