Registry / serialization / bencode2

bencode2

JSON →
library0.3.30pypypi✓ verified 85d 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.93.13
musl
3.93.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.103.95 runs
installs and imports cleanly · install 0.0s · import 0.034s · 22MB
glibc
py 3.103.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
17 hits · last 30 days
node
14
OpenAI (training)
2
Resources