Skip to main content

UDS (Unified Diagnostic Services) protocol handler.

Project description

Continuous Integration Status Security Scan Status CII Best Practices ReadTheDocs Build Status Software Tests Coverage

The latest Version of UDS package Supported Python versions PyPI status Total PyPI downloads Monthly PyPI downloads License Type

Python package for handling Unified Diagnostic Services (UDS) protocol defined by ISO 14229. It supports different communication buses on both communication sides (client and server).

Documentation

User documentation is hosted by ReadTheDocs portal and available under the following link: https://uds.readthedocs.io/

Security policy for this package is defined in SECURITY.md file.

If you want to become a contributor, please read CONTRIBUTING.md file.

Why another UDS package?

There are a few already existing python packages to handle UDS protocol, so you might wonder why would you consider using this one?

This package is meant to support multiple buses (including CAN, LIN, Ethernet, K-Line, FlexRay) and multiple bus managers (e.g. python-can). Additionally, it handles both communication nodes (client and server), and contains detailed configuration to fully control all timing and transmission parameters.

Thanks to all these features, this package can have multiple use-cases, including:

  • simple send-receive messages to/from any network

  • comprehensive node simulations

  • testing of UDS protocol communication implementation

Unfortunately, all previously mentioned plans make the project a huge effort and at the time of writing, the implementation process of these features is still ongoing (and probably the status will stay the same for at least a couple more years). On the other hand, the architecture to support all these features is already designed and some of the features are already implemented with others defined or planned.

To check the current implementation status, visit:

Alternative options

python-udsoncan

Link: https://github.com/pylessard/python-udsoncan

  • pros:
    • comprehensive documentation

    • handlers for multiple diagnostic services is implemented

  • cons:
    • only positive use case scenarios (where communication is in line with UDS standard) are supported

    • only CAN bus is supported

    • only Client side communication can be handled

    • limited communication parameters configuration

python-uds

Link: https://github.com/richClubb/python-uds

  • pros:
    • CAN and LIN buses are supported

  • cons:
    • modest documentation

    • only a few communication interfaces are supported

    • only Client side communication can be handled

    • limited communication parameters configuration

Contact

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

py_uds-1.0.0-py3-none-any.whl (86.7 kB view hashes)

Uploaded Python 3

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