Skip to main content

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 working with the Unified Diagnostic Services (UDS) protocol, as defined in 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.

Motivation

Existing Python UDS packages (see Alternative Options) cover parts of the protocol, but often focus on a single bus, client-only communication, or limited configuration.

This package is designed to:

  • support multiple buses (CAN, LIN, Ethernet, K-Line, FlexRay) and multiple bus managers (e.g. python-can)

  • handle both client and server roles

  • provide detailed control over timing and transmission parameters

  • enable use-cases from simple send/receive to simulation, testing, and sniffing/decoding UDS traffic

Development is ongoing, but the architecture is already in place, and several features are implemented. See the current status at: https://uds.readthedocs.io/en/stable/#features

Alternative Options

python-udsoncan

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

  • pros:

    • extensive documentation

    • active community and maintenance

    • multiple connection types supported

    • full CAN support; extensible to other buses with custom code

    • configurable CAN transmission parameters via can-isotp

    • multiple diagnostic services implemented

    • error handling for both positive and negative scenarios

    • control over CAN network timings (N_As, N_Ar, N_Bs, N_Br, N_Cs, N_Cr)

    • possibility to inject Transport/Network layer errors

  • cons:

    • no full-duplex communication

    • only client-side communication implemented

python-uds

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

  • pros:

    • CAN and LIN buses are supported

  • cons:

    • limited documentation

    • not actively maintained (last release: March 2019)

    • limited interface support (primarily python-can)

    • no full-duplex communication

    • only client-side communication implemented

    • limited configuration of communication parameters

    • no error injection options (e.g. Flow Status manipulation, incorrect sequence handling)

Contact

Download files

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

Source Distribution

py_uds-4.1.0.tar.gz (143.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_uds-4.1.0-py3-none-any.whl (196.0 kB view details)

Uploaded Python 3

File details

Details for the file py_uds-4.1.0.tar.gz.

File metadata

  • Download URL: py_uds-4.1.0.tar.gz
  • Upload date:
  • Size: 143.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for py_uds-4.1.0.tar.gz
Algorithm Hash digest
SHA256 ed4ebd117719520af8b9c18f5ac97af062ebf259ab1886a584ac5b33e4124224
MD5 6da227850a8fcaaad6dafa15471b8341
BLAKE2b-256 6a902f5f59761af560aeb8a4ebbb6ccc7a1ddf8204d5d92ca6a2d50af14e5a6c

See more details on using hashes here.

File details

Details for the file py_uds-4.1.0-py3-none-any.whl.

File metadata

  • Download URL: py_uds-4.1.0-py3-none-any.whl
  • Upload date:
  • Size: 196.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for py_uds-4.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 993854a38d2832c93d3f360478bab83caeb4c213eac67bd2c0d8ff08bae97a77
MD5 7e7fbdcbbb1983c9f88ed2b21a32e6f3
BLAKE2b-256 7bdb28c5fdf3cd25737b065a1ba2e941b92fd9fc3afd7b7a4f2868abda49bfd2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.1.0 This release

2 files

4.0.0

1 file

3.1.1

1 file

3.0.0

1 file

2.0.0

1 file

1.1.0

1 file

1.0.0

1 file

0.3.0

1 file

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

0.0.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page