{ "info": { "author": "Pier-Yves Lessard", "author_email": "py.lessard@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator" ], "description": "python-udsoncan\n###############\n\nThis project is an implementation of the Unified Diagnostic Services (UDS) protocol defined by ISO-14229 written in Python 3. The code is published under MIT license on GitHub (pylessard/python-udsoncan).\n\nDocumentation\n-------------\n\nThe documentation is available here : http://udsoncan.readthedocs.io\n\nRequirements\n------------\n\n - Python 3+\n\nInstallation\n------------\n\nusing pip::\n\n pip install udsoncan\n\nExample\n-------\n\n.. code-block:: python\n\n import SomeLib.SomeCar.SomeModel as MyCar\n\n import udsoncan\n from udsoncan.connections import IsoTPSocketConnection\n from udsoncan.client import Client\n from udsoncan.exceptions import *\n from udsoncan.services import *\n\n udsoncan.setup_logging()\n\n conn = IsoTPSocketConnection('can0', rxid=0x123, txid=0x456)\n with Client(conn, request_timeout=2, config=MyCar.config) as client:\n try:\n client.change_session(DiagnosticSessionControl.Session.extendedDiagnosticSession) # integer with value of 3\n client.unlock_security_access(MyCar.debug_level) # Fictive security level. Integer coming from fictive lib, let's say its value is 5\n client.write_data_by_identifier(udsoncan.DataIdentifier.VIN, 'ABC123456789') # Standard ID for VIN is 0xF190. Codec is set in the client configuration\n print('Vehicle Identification Number successfully changed.')\n client.ecu_reset(ECUReset.ResetType.hardReset) # HardReset = 0x01\n except NegativeResponseException as e:\n print('Server refused our request for service %s with code \"%s\" (0x%02x)' % (e.response.service.get_name(), e.response.code_name, e.response.code))\n except InvalidResponseException, UnexpectedResponseException as e:\n print('Server sent an invalid payload : %s' % e.response.original_payload)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/pylessard/python-udsoncan/archive/v1.8.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pylessard/python-udsoncan", "keywords": "uds,14229,iso-14229,diagnostic,automotive", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "udsoncan", "package_url": "https://pypi.org/project/udsoncan/", "platform": "", "project_url": "https://pypi.org/project/udsoncan/", "project_urls": { "Download": "https://github.com/pylessard/python-udsoncan/archive/v1.8.1.tar.gz", "Homepage": "https://github.com/pylessard/python-udsoncan" }, "release_url": "https://pypi.org/project/udsoncan/1.8.1/", "requires_dist": null, "requires_python": ">=3.0", "summary": "Implementation of the Unified Diagnostic Service (UDS) protocol (ISO-14229) used in the automotive industry.", "version": "1.8.1" }, "last_serial": 5999376, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "c07fac733910a6c58f8454a40dc583bd", "sha256": "45a2a6e12ec6eebd1df79bd44b4ef0dc7bb9e2df2ef462df9ad7528dab54ea79" }, "downloads": -1, "filename": "udsoncan-1.0.tar.gz", "has_sig": false, "md5_digest": "c07fac733910a6c58f8454a40dc583bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35687, "upload_time": "2018-05-11T02:52:20", "url": "https://files.pythonhosted.org/packages/ab/75/fadd1d9cf212605bebeb993fe06127b995593181e518d423825ffdc7020b/udsoncan-1.0.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "38c1608a0cd75c809eaee6df8cac3a44", "sha256": "78d030b7859d93622b7cc3d27ceb37135f6218635ade84b050a5f6dd20783877" }, "downloads": -1, "filename": "udsoncan-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "38c1608a0cd75c809eaee6df8cac3a44", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 113345, "upload_time": "2018-08-03T14:15:06", "url": "https://files.pythonhosted.org/packages/f1/4e/2317870e5e3e2b1eae1ea65dbee641848e208fa0f8d1464a7466b4bdc84a/udsoncan-1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19e6ca8e5670a6ba3df0a0ded575d7a3", "sha256": "b59fdf2606f62407f369470391195b26f641ca71c5eadf8cec1d910ac8ba3f01" }, "downloads": -1, "filename": "udsoncan-1.3.tar.gz", "has_sig": false, "md5_digest": "19e6ca8e5670a6ba3df0a0ded575d7a3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 72999, "upload_time": "2018-08-03T14:15:08", "url": "https://files.pythonhosted.org/packages/08/bc/b260d73f977712691bccc77f267dff16eb814a8d6d863e798c7497c2afb3/udsoncan-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "ff8b5065ae11ebb51358f98f90d5a9af", "sha256": "b97ef8073784b1de92bb0a65e0360890427f9a66669f87c34a6a2965cd66acfe" }, "downloads": -1, "filename": "udsoncan-1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "ff8b5065ae11ebb51358f98f90d5a9af", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.0", "size": 118863, "upload_time": "2018-10-28T21:17:43", "url": "https://files.pythonhosted.org/packages/db/2a/14ab8ce70e82dcb93598765817cd7a51b9256b68ac0ed54fc56d92bb37a8/udsoncan-1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "222aea6d7c6ef4b7c0ccd0ff0110cf71", "sha256": "b54763ad2ebe8b0f166c80f00d18df60b07a0b818e94b24cfc701e4ba9de3bb9" }, "downloads": -1, "filename": "udsoncan-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "222aea6d7c6ef4b7c0ccd0ff0110cf71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 113372, "upload_time": "2018-10-28T21:19:06", "url": "https://files.pythonhosted.org/packages/88/32/3c23dab7209a0d9850e1969dee55b6c59b06fd7fb7371d46dd8d866d6986/udsoncan-1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0fe294f88cae5d1cf1caab9bfc3e4241", "sha256": "cb989feda0146f3393e302cd448b43f80e179fa292d5776acb4af5b1bb386608" }, "downloads": -1, "filename": "udsoncan-1.4.tar.gz", "has_sig": false, "md5_digest": "0fe294f88cae5d1cf1caab9bfc3e4241", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 73077, "upload_time": "2018-10-28T21:13:59", "url": "https://files.pythonhosted.org/packages/a8/ad/1f4540dc396d2ea13fe70d9f5f730661f0f2e1b26cc0a6ed109fdaf9bd8c/udsoncan-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "5c2249613d1fe2157d39d86ed2ae9830", "sha256": "eedd182ed4809fc39eaddfbc6ae93a21b4b6a3e03942066101cf7445792bd8bf" }, "downloads": -1, "filename": "udsoncan-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "5c2249613d1fe2157d39d86ed2ae9830", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 113087, "upload_time": "2018-11-17T04:18:45", "url": "https://files.pythonhosted.org/packages/63/38/dbdbc1d837fbb9ee6f21162f316b592f0dff73c0e422a1cb760105599074/udsoncan-1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32a84d83046967f622c4499d683681c2", "sha256": "152b5958bc37bec247754bd8742c3e0ec6ec93c34d07ff636cebc19cb1b6e0d3" }, "downloads": -1, "filename": "udsoncan-1.5.tar.gz", "has_sig": false, "md5_digest": "32a84d83046967f622c4499d683681c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 73732, "upload_time": "2018-11-17T04:18:47", "url": "https://files.pythonhosted.org/packages/1e/05/b830d48c335315e3ae768594160fb1cd1b8edaf541f6ead96f8ee8491eec/udsoncan-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "3c94c10d294f46d45021ceca610ca359", "sha256": "a0c4d9833136129535a0dfb5aa17d62aacbb0ea9c44048fed6f78eb6f6fbafa5" }, "downloads": -1, "filename": "udsoncan-1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3c94c10d294f46d45021ceca610ca359", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 113136, "upload_time": "2018-11-28T02:18:17", "url": "https://files.pythonhosted.org/packages/56/c3/78b6a89490c73476b9a10c97d8750058f82dd4b5acf3c96e3a1ef3a8306a/udsoncan-1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5edc40205a222e7d86cec9002794554b", "sha256": "53b9bd68ed17495206bc5cce293ed438c56c563543a7f99de2d16728dced5df2" }, "downloads": -1, "filename": "udsoncan-1.6.tar.gz", "has_sig": false, "md5_digest": "5edc40205a222e7d86cec9002794554b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 73777, "upload_time": "2018-11-28T02:18:20", "url": "https://files.pythonhosted.org/packages/c9/d8/797711cfab8b9077c2f13b1fbd0634ffec3906e9aab50cd35e33883e9e54/udsoncan-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "ed67a5dc2afddb0533e4b2e989091894", "sha256": "c293eacd1b35c91eef9eebb7ffd40a81bc99e6c6c89070056462f17a3e4b4e92" }, "downloads": -1, "filename": "udsoncan-1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "ed67a5dc2afddb0533e4b2e989091894", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 115344, "upload_time": "2019-01-02T21:24:40", "url": "https://files.pythonhosted.org/packages/9c/61/87fab85ee0acd82ca115c319a019ce06246e7cba4762ba7beecc1b474338/udsoncan-1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d8262ce47424177d88f02ae8b072546", "sha256": "95eb01e422ebd232b013a607ff3ff123a7bbbd8ec0403cd6e4a76d0f6b214a10" }, "downloads": -1, "filename": "udsoncan-1.7.tar.gz", "has_sig": false, "md5_digest": "5d8262ce47424177d88f02ae8b072546", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 76760, "upload_time": "2019-01-02T21:24:42", "url": "https://files.pythonhosted.org/packages/29/86/b95e90cc7b15958e8da5cfb72b42c3f968ded892934e1dfdc10389047cdc/udsoncan-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "e4352041d5e9cbccc382eb85b8fe5baf", "sha256": "c71195d3a8fa10f0b17fb13d705c0dd2a37c1100855d95e6c3fede3e8fef3c3b" }, "downloads": -1, "filename": "udsoncan-1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e4352041d5e9cbccc382eb85b8fe5baf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 107299, "upload_time": "2019-03-04T01:29:49", "url": "https://files.pythonhosted.org/packages/b5/1a/0ea57ac011d4d9cbd020551097f401d8cd5d8348e46a6a347ced07d50860/udsoncan-1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "595e5703076859af6f05faa074c18d86", "sha256": "beb34bf11c229131c2e87fd0e0263b91787913e79d8462408e8cb04666351e8b" }, "downloads": -1, "filename": "udsoncan-1.8.tar.gz", "has_sig": false, "md5_digest": "595e5703076859af6f05faa074c18d86", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 77429, "upload_time": "2019-03-04T01:29:51", "url": "https://files.pythonhosted.org/packages/c2/21/5a72a2ad392a802c11f53884b5825b0c5c17ea469c44b2b550dcf88c0808/udsoncan-1.8.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "76f97783f0c1ad3dbcbcaf9fe1fa7a46", "sha256": "c291baef5a088fb0e05c4843cb2bd8dfaa4f1a565abb767263d9fa8aa48c7154" }, "downloads": -1, "filename": "udsoncan-1.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "76f97783f0c1ad3dbcbcaf9fe1fa7a46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 109415, "upload_time": "2019-10-19T09:53:43", "url": "https://files.pythonhosted.org/packages/df/28/97f10208dba407f72093cc9b85fffee5fdc3b04063fd6236bdfd35fa86e9/udsoncan-1.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fb71cb23e8184ddad1678b70f213b21", "sha256": "28d0aa6c6d417dc10875207bcce69d5b49c49ffee536e65bc69cf50c1bf94458" }, "downloads": -1, "filename": "udsoncan-1.8.1.tar.gz", "has_sig": false, "md5_digest": "7fb71cb23e8184ddad1678b70f213b21", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 78824, "upload_time": "2019-10-19T09:53:46", "url": "https://files.pythonhosted.org/packages/ef/d2/7a13c04fc038c23e06174391be1e8313282dbdb77cc0964ef6943764c97f/udsoncan-1.8.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "76f97783f0c1ad3dbcbcaf9fe1fa7a46", "sha256": "c291baef5a088fb0e05c4843cb2bd8dfaa4f1a565abb767263d9fa8aa48c7154" }, "downloads": -1, "filename": "udsoncan-1.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "76f97783f0c1ad3dbcbcaf9fe1fa7a46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 109415, "upload_time": "2019-10-19T09:53:43", "url": "https://files.pythonhosted.org/packages/df/28/97f10208dba407f72093cc9b85fffee5fdc3b04063fd6236bdfd35fa86e9/udsoncan-1.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fb71cb23e8184ddad1678b70f213b21", "sha256": "28d0aa6c6d417dc10875207bcce69d5b49c49ffee536e65bc69cf50c1bf94458" }, "downloads": -1, "filename": "udsoncan-1.8.1.tar.gz", "has_sig": false, "md5_digest": "7fb71cb23e8184ddad1678b70f213b21", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 78824, "upload_time": "2019-10-19T09:53:46", "url": "https://files.pythonhosted.org/packages/ef/d2/7a13c04fc038c23e06174391be1e8313282dbdb77cc0964ef6943764c97f/udsoncan-1.8.1.tar.gz" } ] }