1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
"""
Support and convert several CAN (Controller Area Network) database formats .arxml .dbc .dbf .kcd .sym fibex xls(x) ...
Canmatrix implements a "Python Can Matrix Object" which describes the can-communication
and the needed objects (Boardunits, Frames, Signals, Values, ...) Canmatrix also includes
two Tools (canconvert and cancompare) for converting and comparing CAN databases.
There are also some extract and merge options for dealing with can databases.
**supported file formats for import:**
.dbc candb / Vector
.dbf Busmaster (open source!)
.kcd kayak (open source!)
.arxml autosar system description
.yaml dump of the python object
.xls(x) excel xls-import, works with .xls-file generated by this lib
.sym peak pcan can description
.xml (fibex)
.ldf (lin bus)
.odx (diagnostic file)
**supported file formats for export:**
.dbc
.dbf
.kcd
.xls(x)
.json Canard (open source!)
.arxml (very basic implementation)
.yaml (dump of the python object)
.sym
.xml (fibex)
.lua (wireshark script)
.scapy
"""
classifiers = """\
Development Status :: 4 - Beta
Environment :: Console
License :: OSI Approved :: BSD License
Topic :: Scientific/Engineering
Programming Language :: Python
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
"""
from setuptools import find_packages, setup
import versioneer
doclines = __doc__.split("\n")
setup(
name = "canmatrix",
version = '1.2',
cmdclass = versioneer.get_cmdclass(),
long_description_content_type='text/x-rst',
maintainer = "Eduard Broecker",
maintainer_email = "eduard@gmx.de",
url = "http://github.com/ebroecker/canmatrix",
classifiers = list(filter(None, classifiers.split("\n"))),
description = doclines[0],
keywords = "CAN dbc arxml kcd dbf sym",
long_description = "\n".join(doclines[2:]),
license = "BSD",
platforms = ["any"],
install_requires = [
"attrs>=19.2.0",
"click",
"importlib-metadata; python_version < '3.8'",
"typing; python_version < '3.5'",
],
extras_require = {
"arxml": ["lxml"],
"csv": [],
"dbc": [],
"dbf": [],
"fibex": ["lxml"],
"json": [],
"kcd": ["lxml"],
"ldf": ["ldfparser"],
"odx": ["lxml"],
"scapy": [],
"sym": [],
"test": ["pathlib2; python_version < '3.4'", "pytest"],
"wireshark": [],
"xls": ["xlrd==1.2.0", "xlwt"],
"xlsx": ["openpyxl"],
"yaml": ["pyyaml"],
"eds": ["canopen"]
},
packages = find_packages("src"),
package_dir = {"": "src"},
package_data = {"canmatrix" : ["tests/*.dbc", "tests/*.arxml", "j1939.dbc"]},
entry_points={'console_scripts': ['cancompare = canmatrix.cli.compare:cli_compare',
'canconvert = canmatrix.cli.convert:cli_convert']}
)
|