Skip to main content

Encode or decode XDR (IETF RFC-4506/1832/1014)

Project description

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. 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 was 3.12; the module is no longer part of the standard library in 3.13 and later.

Supported Python Versions

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.

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
  • 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?
  • 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.

Contributing

Contributions are very welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_xdrlib-4.0.2.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

py_xdrlib-4.0.2-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file py_xdrlib-4.0.2.tar.gz.

File metadata

  • Download URL: py_xdrlib-4.0.2.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for py_xdrlib-4.0.2.tar.gz
Algorithm Hash digest
SHA256 e80a8b1b2920f61d088d832830e59227666b0ef8e87d9225ac224f9556fd535f
MD5 5e8b035e81be2a589466445d2f8f68b9
BLAKE2b-256 b90a096cd6f9b85086864ed73a3b38b0be551d5883a4ee7909c6578278856cc5

See more details on using hashes here.

File details

Details for the file py_xdrlib-4.0.2-py3-none-any.whl.

File metadata

  • Download URL: py_xdrlib-4.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for py_xdrlib-4.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 72bebc05eb41bb8126ac7286a25e06e8a6b2053757e866c40afb173157e0fc0b
MD5 89b406a75bc32aca5a80feecdd98ae7e
BLAKE2b-256 977f3b115d29cb0ce24cc2a8010ea5ab6d8b0fdcf4a807a52b88cc38085c8c0d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page