This is a copy of the Python xdrlib module, present in the standard library from release 1.4 to release 3.12. This module will be maintained with a compatible API and functionality for as long as it is possible and useful.
PEP-594 proposed the removal of a number of less commonly used modules from the standard library. The removal of xdrlib was justified on the basis that it is rarely used other than for NFS at the time of writing in 2019.
The last version of Python to support xdrlib was 3.12; the module is no longer part of the standard library in 3.13 and later.
This library supports the CPython versions supported by the Python Software Foundation, plus an additional year.
Currently, that means that Python 3.8, moved to end-of-life by the PSF
on 2024-10-07, will be supported by py-xdrlib
until 2025-10-07.
- Tests
- GitHub CI integration
- Based off current test code from 3.11
- See if
flit
supports a test step - coverage?
- Formatting
- Black?
- Lint
- pylint?
- flake8
- Doc
- Clean up the cloned doc's structure so it can stand alone
- Push it to ... ReadTheDocs, I guess?
- Can this be a part of the
flit publish
process too?
- Can this be a part of the
Check the docstrings in the module, and extend them if they're not already usefulAdd type hints to the codeAdd some badges in this READMEGitHub CICoveragePyPIpepy.tech?
- Consider adding
rpcgen
-like tool to compile XDR IDL into classes- IDL parser
- Need to add support for
struct
andunion
- Need to add support for
- Code generator
- IDL parser
- Investigate the newer RFCs (1832/4506) and see if there's anything
needs to be done to comply with them.
- If so, and it can be done transparently, just do it.
- Otherwise, if it needs some sort of mode switch, add that.
- Extend the test suite with examples from modern NFS and elsewhere
- Check for any reported bugs in the Python bug tracker
- Mentioned in
gh-83162, which
seems to be dead, but the point is that the exception could be
renamed to something more descriptive. I think ... that's a bit
unnecessary, since
xdrlib.Error
is kinda fine? - Check Debian bug tracker, and maybe Arch?
- Mentioned in
gh-83162, which
seems to be dead, but the point is that the exception could be
renamed to something more descriptive. I think ... that's a bit
unnecessary, since
- Check for any CVEs
- TBD
- Can I subscribe for these?
- Push out a 4.0.x fairly soon, with better tests, better doc, and otherwise unchanged functionality, maintaining functionality for those who need to use a single module with Python 3.8 through 3.13.
Contributions are very welcome!