xdrlib3
A forked version of `xdrlib`, a module for encoding and decoding XDR (External Data Representation) data in Python.
What it is and what it does
xdrlib3 is a fork of Python's deprecated xdrlib module, which handles encoding and decoding of XDR (External Data Representation) binary data. The standard library version is scheduled for removal in Python 3.13, making this fork necessary for projects that rely on XDR serialization and need to upgrade to newer Python versions. It provides Packer and Unpacker classes for converting Python objects to and from XDR binary format, with type hints added for better IDE support and code clarity.
The package has no runtime dependencies and installs cleanly on Python 3.7 through 3.11. However, the repository has been inactive since its release on 2023-05-06, meaning it is not receiving updates or bug fixes. It is suitable for projects that need a drop-in replacement for xdrlib but should not be relied upon for ongoing maintenance or support.
Use it for:
- Migrate legacy code using xdrlib to Python 3.13+ without rewriting serialization logic
- Serialize structured data for network protocols or file formats that use XDR encoding
- Decode XDR-encoded data received from external systems or APIs
- Add type hints to existing xdrlib-based projects for better static analysis
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Encodes and decodes XDR (External Data Representation) data in Python, providing a maintained replacement for the standard library's xdrlib module which is deprecated in Python 3.13+.
Yes, if you need XDR support in Python 3.13+. The package is a direct replacement for the deprecated standard library module with no dependencies and permissive licensing. However, be aware it is abandoned and receives no updates—use it only as a compatibility shim for existing XDR code, not as a foundation for new projects. No known vulnerabilities.
Install
xdrlib3 on PyPI
pip
pip install xdrlib3uv
uv add xdrlib3poetry
poetry add xdrlib3Installing xdrlib3
Before you install
Low friction install with no runtime dependencies. Maintenance is abandoned; last commit was 2023-05-07, though the package is marked Production/Stable and supports Python 3.7 through 3.11.
License in practice
Permissive license treatment. The package combines Apache-licensed code from CPython's original xdrlib with MIT-licensed additions, allowing use in most commercial and open-source contexts.
Quickstart
pip install xdrlib3
import xdrlib3
packer = xdrlib3.Packer()
packer.pack_int(16)
packed_data = packer.get_buffer()
unpacker = xdrlib3.Unpacker(packed_data)
unpacked_data = unpacker.unpack_int()
Verify before relying
- Whether type hints cover all Packer and Unpacker methods or only a subset
- Compatibility status with Python 3.12 and later versions beyond what classifiers declare
- Whether this fork is actively maintained or if an alternative fork is now preferred
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7,<4.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,196 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 172,701/month — #10,327 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: xdrlib3-0.1.1-py3-none-any.whl
Keywords: xdrlib, xdr
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
mda-xdrlibProvides the xdrlib module for encoding and…
permissive · top 15,000 on PyPI
rlpEncodes and decodes data using Recursive Length…
permissive · top 5,000 on PyPI
dnslibEncodes and decodes DNS wire-format packets,…
permissive · top 5,000 on PyPI
cbor2Encodes and decodes CBOR (Concise Binary Object…
permissive · top 1,000 on PyPI
x690Encodes and decodes data using the X.690 BER…
permissive · top 15,000 on PyPI
msgpackmsgpack serializes and deserializes Python…
permissive · top 1,000 on PyPI
pylzsspylzss decodes and encodes data compressed with…
copyleft · top 15,000 on PyPI
bech32mEncodes and decodes Bech32 and Bech32m strings,…
permissive · top 15,000 on PyPI
bsonEncodes and decodes BSON (Binary JSON) data…
permissive · top 5,000 on PyPI
bencode.pyEncodes and decodes bencode format, the binary…
unclear · top 15,000 on PyPI