forked from ebroecker/canmatrix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
114 lines (88 loc) · 3.1 KB
/
setup.py
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
"""
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
**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)
"""
classifiers = """\
Development Status :: 4 - Beta
Environment :: Console
License :: OSI Approved :: BSD License
Topic :: Scientific/Engineering
Programming Language :: Python
Programming Language :: Python :: 2.7
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
"""
from setuptools import find_packages, setup
import versioneer
doclines = __doc__.split("\n")
setup(
name = "canmatrix",
version = versioneer.get_version(),
cmdclass = versioneer.get_cmdclass(),
maintainer = "Eduard Broecker",
maintainer_email = "[email protected]",
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",
"enum34; python_version < '3.4'",
"future",
"six",
"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", "xlwt"],
"xlsx": ["xlsxwriter"],
"yaml": ["pyyaml"],
},
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']}
)