Skip to content

Python module for XDR (IETF RFC1014 / RFC1832 / RFC4506) encoding and decoding

License

Notifications You must be signed in to change notification settings

da4089/py-xdrlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py-xdrlib

Build Status Docs Coverage PyPI Python PePY Downloads PePY Monthly

This is a copy of the Python xdrlib module, present in the standard library from release 1.4 to release 3.12. It is intended that this module will be maintained with a compatible API and functionality for as long as it is possible and useful.

Removal from Standard Library

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 will be 3.12, and the module will not be part of the standard library in 3.13.

Roadmap

  • 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?
    • Check the docstrings in the module, and extend them if they're not already useful
    • Add type hints to the code
    • Add some badges in this README
      • GitHub CI
      • Coverage
      • PyPI
      • pepy.tech?
  • Consider adding rpcgen-like tool to compile XDR IDL into classes
    • IDL parser
      • Need to add support for struct and union
    • Code generator
  • Tell someone about this; maybe get it added to the PEP?
  • 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 for any CVEs
    • TBD
    • Can I subscribe for these?
  • Push out a 4.0.1 fairly soon, with better tests, better doc, and otherwise unchanged functionality. That would be enough for anyone using the stdlib module to import this for 3.13 and their code would work.

Contributing

Contributions are welcome.

About

Python module for XDR (IETF RFC1014 / RFC1832 / RFC4506) encoding and decoding

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages