odxtools 7.2.0__py3-none-any.whl → 7.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. odxtools/basicstructure.py +10 -7
  2. odxtools/cli/_print_utils.py +3 -3
  3. odxtools/cli/browse.py +4 -2
  4. odxtools/cli/list.py +3 -3
  5. odxtools/commrelation.py +122 -0
  6. odxtools/comparaminstance.py +1 -1
  7. odxtools/comparamspec.py +1 -2
  8. odxtools/compumethods/linearsegment.py +0 -2
  9. odxtools/database.py +17 -11
  10. odxtools/decodestate.py +8 -2
  11. odxtools/diaglayer.py +23 -17
  12. odxtools/diaglayerraw.py +116 -23
  13. odxtools/diagnostictroublecode.py +2 -2
  14. odxtools/diagservice.py +33 -20
  15. odxtools/diagvariable.py +104 -0
  16. odxtools/dtcdop.py +39 -14
  17. odxtools/dyndefinedspec.py +179 -0
  18. odxtools/encodestate.py +14 -2
  19. odxtools/environmentdatadescription.py +137 -16
  20. odxtools/exceptions.py +10 -1
  21. odxtools/multiplexer.py +92 -56
  22. odxtools/multiplexercase.py +6 -5
  23. odxtools/multiplexerdefaultcase.py +7 -6
  24. odxtools/odxlink.py +19 -47
  25. odxtools/odxtypes.py +1 -1
  26. odxtools/parameterinfo.py +2 -2
  27. odxtools/parameters/nrcconstparameter.py +28 -37
  28. odxtools/parameters/systemparameter.py +1 -1
  29. odxtools/parameters/tablekeyparameter.py +11 -4
  30. odxtools/servicebinner.py +1 -1
  31. odxtools/specialdatagroup.py +1 -1
  32. odxtools/swvariable.py +21 -0
  33. odxtools/templates/macros/printComparam.xml.jinja2 +4 -2
  34. odxtools/templates/macros/printCompuMethod.xml.jinja2 +1 -8
  35. odxtools/templates/macros/printDiagVariable.xml.jinja2 +66 -0
  36. odxtools/templates/macros/printDynDefinedSpec.xml.jinja2 +48 -0
  37. odxtools/templates/macros/printEcuVariantPattern.xml.jinja2 +1 -1
  38. odxtools/templates/macros/printParam.xml.jinja2 +7 -8
  39. odxtools/templates/macros/printService.xml.jinja2 +3 -2
  40. odxtools/templates/macros/printSingleEcuJob.xml.jinja2 +2 -2
  41. odxtools/templates/macros/printVariant.xml.jinja2 +30 -13
  42. odxtools/variablegroup.py +22 -0
  43. odxtools/version.py +2 -2
  44. {odxtools-7.2.0.dist-info → odxtools-7.4.0.dist-info}/METADATA +18 -18
  45. {odxtools-7.2.0.dist-info → odxtools-7.4.0.dist-info}/RECORD +49 -42
  46. {odxtools-7.2.0.dist-info → odxtools-7.4.0.dist-info}/WHEEL +1 -1
  47. {odxtools-7.2.0.dist-info → odxtools-7.4.0.dist-info}/LICENSE +0 -0
  48. {odxtools-7.2.0.dist-info → odxtools-7.4.0.dist-info}/entry_points.txt +0 -0
  49. {odxtools-7.2.0.dist-info → odxtools-7.4.0.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@
4
4
  -#}
5
5
 
6
6
  {%- import('macros/printDiagComm.xml.jinja2') as pdc %}
7
+ {%- import('macros/printComparamRef.xml.jinja2') as pcom %}
7
8
 
8
9
  {%- macro printService(service) -%}
9
10
  <DIAG-SERVICE {{pdc.printDiagCommAttribs(service) | indent(1) }}
@@ -18,8 +19,8 @@
18
19
  {{pdc.printDiagCommSubtags(service) | indent(1, first=True) }}
19
20
  {%- if service.comparam_refs %}
20
21
  <COMPARAM-REFS>
21
- {%- for ref in service.comparam_refs %}
22
- <COMPARAM-REF ID-REF="{{ref.ref_id}}" />
22
+ {%- for cpref in service.comparam_refs %}
23
+ {{ pcom.printComparamRef(cpref)|indent(4) }}
23
24
  {%- endfor %}
24
25
  </COMPARAM-REFS>
25
26
  {%- endif%}
@@ -65,8 +65,8 @@
65
65
  <INPUT-PARAM {{-make_xml_attrib("OID", param.oid)}}
66
66
  {{-make_xml_attrib("SEMANTIC", param.semantic)}}>
67
67
  {{ peid.printElementIdSubtags(param)|indent(1) }}
68
- {%- if param.physical_default_value %}
69
- <PHYSICAL-DEFAULT-VALUE>{{param.physical_default_value}}</PHYSICAL-DEFAULT-VALUE>
68
+ {%- if param.physical_default_value is not none %}
69
+ <PHYSICAL-DEFAULT-VALUE>{{param.physical_default_value | e}}</PHYSICAL-DEFAULT-VALUE>
70
70
  {%- endif %}
71
71
  <DOP-BASE-REF ID-REF="{{param.dop_base_ref.ref_id}}" />
72
72
  </INPUT-PARAM>
@@ -26,6 +26,8 @@
26
26
  {%- import('macros/printAudience.xml.jinja2') as paud %}
27
27
  {%- import('macros/printSpecialData.xml.jinja2') as psd %}
28
28
  {%- import('macros/printEcuVariantPattern.xml.jinja2') as pvpat %}
29
+ {%- import('macros/printDynDefinedSpec.xml.jinja2') as pdynspec %}
30
+ {%- import('macros/printDiagVariable.xml.jinja2') as pdv %}
29
31
 
30
32
  {%- macro printVariant(dl) -%}
31
33
  {%- set dlr = dl.diag_layer_raw %}
@@ -124,9 +126,9 @@
124
126
  {%- endif %}
125
127
  </DIAG-DATA-DICTIONARY-SPEC>
126
128
  {%- endif %}
127
- {%- if dlr.diag_comms %}
129
+ {%- if dlr.diag_comms_raw %}
128
130
  <DIAG-COMMS>
129
- {%- for dc in dlr.diag_comms %}
131
+ {%- for dc in dlr.diag_comms_raw %}
130
132
 
131
133
  {#- use some serious duck typing to determine the kind of diag-comm
132
134
  #- object. this would not be necessary if something like
@@ -191,28 +193,43 @@
191
193
  </ADDITIONAL-AUDIENCES>
192
194
  {%- endif %}
193
195
  {{- psd.printSpecialDataGroups(dlr.sdgs)|indent(1, first=True) }}
194
- {%- if dlr.comparams %}
196
+ {%- if dlr.comparam_refs %}
195
197
  <COMPARAM-REFS>
196
- {%- for cp in dlr.comparams -%}
198
+ {%- for cp in dlr.comparam_refs -%}
197
199
  {{ pcom.printComparamRef(cp)|indent(2) }}
198
200
  {%- endfor %}
199
201
  </COMPARAM-REFS>
200
202
  {%- endif %}
201
- {%- if dlr.variant_type.value == "ECU-VARIANT" %}
202
- {%- if dlr.ecu_variant_patterns %}
203
- <ECU-VARIANT-PATTERNS>
204
- {%- for vp in dlr.ecu_variant_patterns -%}
205
- {{ pvpat.printEcuVariantPattern(vp)|indent(2) }}
206
- {%- endfor -%}
207
- </ECU-VARIANT-PATTERNS>
208
- {%- endif %}
209
- {%- endif %}
210
203
  {%- if dlr.variant_type.value == "PROTOCOL" %}
211
204
  <COMPARAM-SPEC-REF ID-REF="{{dlr.comparam_spec_ref.ref_id}}" DOCREF="{{dlr.comparam_spec_ref.ref_docs[0].doc_name}}" DOCTYPE="COMPARAM-SPEC"/>
212
205
  {%- if dlr.prot_stack_snref is not none %}
213
206
  <PROT-STACK-SNREF SHORT-NAME="{{dlr.prot_stack_snref}}"/>
214
207
  {%- endif %}
215
208
  {%- endif %}
209
+ {%- if dlr.diag_variables %}
210
+ <DIAG-VARIABLES>
211
+ {%- for dv in dlr.diag_variables -%}
212
+ {{ pdv.printDiagVariable(dv)|indent(4) }}
213
+ {%- endfor -%}
214
+ </DIAG-VARIABLES>
215
+ {%- endif %}
216
+ {%- if dlr.variable_groups %}
217
+ <VARIABLE-GROUPS>
218
+ {%- for vg in dlr.variable_groups -%}
219
+ {{ pdv.printVariableGroup(vg)|indent(4) }}
220
+ {%- endfor -%}
221
+ </VARIABLE-GROUPS>
222
+ {%- endif %}
223
+ {%- if dlr.dyn_defined_spec %}
224
+ {{ pdynspec.printPrintDefinedSpec(dlr.dyn_defined_spec)|indent(4) }}
225
+ {%- endif %}
226
+ {%- if dlr.ecu_variant_patterns %}
227
+ <ECU-VARIANT-PATTERNS>
228
+ {%- for vp in dlr.ecu_variant_patterns -%}
229
+ {{ pvpat.printEcuVariantPattern(vp)|indent(4) }}
230
+ {%- endfor -%}
231
+ </ECU-VARIANT-PATTERNS>
232
+ {%- endif %}
216
233
  {%- if dlr.parent_refs %}
217
234
  <PARENT-REFS>
218
235
  {%- for parent in dlr.parent_refs -%}
@@ -0,0 +1,22 @@
1
+ # SPDX-License-Identifier: MIT
2
+ from dataclasses import dataclass
3
+ from typing import TYPE_CHECKING, List
4
+ from xml.etree import ElementTree
5
+
6
+ from .element import IdentifiableElement, NamedElement
7
+ from .odxlink import OdxDocFragment
8
+ from .utils import dataclass_fields_asdict
9
+
10
+ if TYPE_CHECKING:
11
+ pass
12
+
13
+
14
+ @dataclass
15
+ class VariableGroup(IdentifiableElement):
16
+
17
+ @staticmethod
18
+ def from_et(et_element: ElementTree.Element,
19
+ doc_frags: List[OdxDocFragment]) -> "VariableGroup":
20
+ kwargs = dataclass_fields_asdict(NamedElement.from_et(et_element, doc_frags))
21
+
22
+ return VariableGroup(**kwargs)
odxtools/version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '7.2.0'
16
- __version_tuple__ = version_tuple = (7, 2, 0)
15
+ __version__ = version = '7.4.0'
16
+ __version_tuple__ = version_tuple = (7, 4, 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odxtools
3
- Version: 7.2.0
3
+ Version: 7.4.0
4
4
  Summary: Utilities to work with the ODX standard for automotive diagnostics
5
5
  Author-email: Katrin Bauer <katrin.bauer@mbition.io>, Andreas Lauser <andreas.lauser@mbition.io>, Ayoub Kaanich <kayoub5@live.com>
6
6
  Maintainer-email: Andreas Lauser <andreas.lauser@mbition.io>, Ayoub Kaanich <kayoub5@live.com>
@@ -22,28 +22,28 @@ Classifier: Operating System :: OS Independent
22
22
  Requires-Python: >=3.8
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
- Requires-Dist: bitstruct >=8.17
26
- Requires-Dist: argparse-addons >=0.12
27
- Requires-Dist: jinja2 >=3.1
28
- Requires-Dist: python-can >=4.2
29
- Requires-Dist: markdownify >=0.11
30
- Requires-Dist: deprecation >=2.1
25
+ Requires-Dist: bitstruct>=8.17
26
+ Requires-Dist: argparse-addons>=0.12
27
+ Requires-Dist: jinja2>=3.1
28
+ Requires-Dist: python-can>=4.2
29
+ Requires-Dist: markdownify>=0.11
30
+ Requires-Dist: deprecation>=2.1
31
31
  Requires-Dist: packaging
32
- Requires-Dist: tabulate >=0.9
33
- Requires-Dist: rich >=13.7
34
- Requires-Dist: typing-extensions >=4.9
32
+ Requires-Dist: tabulate>=0.9
33
+ Requires-Dist: rich>=13.7
34
+ Requires-Dist: typing-extensions>=4.9
35
35
  Provides-Extra: all
36
- Requires-Dist: odxtools[browse-tool,examples,test] ; extra == 'all'
36
+ Requires-Dist: odxtools[browse-tool,examples,test]; extra == "all"
37
37
  Provides-Extra: browse-tool
38
- Requires-Dist: InquirerPy >=0.3.4 ; extra == 'browse-tool'
38
+ Requires-Dist: InquirerPy>=0.3.4; extra == "browse-tool"
39
39
  Provides-Extra: examples
40
- Requires-Dist: can-isotp >=1.9 ; extra == 'examples'
40
+ Requires-Dist: can-isotp>=1.9; extra == "examples"
41
41
  Provides-Extra: test
42
- Requires-Dist: mypy >=1.5 ; extra == 'test'
43
- Requires-Dist: types-tabulate >=0.9.0.3 ; extra == 'test'
44
- Requires-Dist: ruff >=0.0.290 ; extra == 'test'
45
- Requires-Dist: pytest >=7.4 ; extra == 'test'
46
- Requires-Dist: coverage >=7.3 ; extra == 'test'
42
+ Requires-Dist: mypy>=1.5; extra == "test"
43
+ Requires-Dist: types-tabulate>=0.9.0.3; extra == "test"
44
+ Requires-Dist: ruff>=0.0.290; extra == "test"
45
+ Requires-Dist: pytest>=7.4; extra == "test"
46
+ Requires-Dist: coverage>=7.3; extra == "test"
47
47
 
48
48
  <!-- SPDX-License-Identifier: MIT -->
49
49
  [![PyPi - Version](https://img.shields.io/pypi/v/odxtools)](https://pypi.org/project/odxtools)
@@ -4,48 +4,51 @@ odxtools/additionalaudience.py,sha256=Xjy_PhTfTV23oAMvml5XeZw3ex8xssIhgRseSsxKcx
4
4
  odxtools/admindata.py,sha256=ue5MnYJK_jxNq6Okxy4aGtH15uBAnWXIjMBFSh36Q3g,1879
5
5
  odxtools/audience.py,sha256=SW0BzJr6qyrNU9ESJr491RI4T7XgECTK9whDeMcp1Yw,3290
6
6
  odxtools/basecomparam.py,sha256=VxpIsTr6-S4e8Vw72hJXSLUFU5TvHy5CM0sweVL-ZWE,2384
7
- odxtools/basicstructure.py,sha256=5HO10zBCQ1a_psCQ6zie6cHvyYomWhwM8psFhSqamvo,12776
7
+ odxtools/basicstructure.py,sha256=wkbTuS9VlfLhAQCS59kXUkDtlhz9dKvLEQpXpsHrN90,12854
8
+ odxtools/commrelation.py,sha256=Gh3CqMuF9rS0X107oxUkISNT2VWDZVPCpOSu54q7hcs,4793
8
9
  odxtools/companydata.py,sha256=o8vRONHfzmon3Ws0LLKX3-9Och34Uu91aAmBnNg2N34,2539
9
10
  odxtools/companydocinfo.py,sha256=fcceuYX8eTKhVhtmji6yiMRi6gtqPAJdi5kpo-wyL_8,2267
10
11
  odxtools/companyrevisioninfo.py,sha256=rim57tX4jFoJq4Xvdet7UUHMA7MpcIjMQQrL-YTWAh0,1356
11
12
  odxtools/companyspecificinfo.py,sha256=Fww7CqQmU-4HUtyaJatcgg9VV8iZzj4YQ5M0UqJVs2c,1537
12
13
  odxtools/comparam.py,sha256=uVThBbKO8_aoTWYFH5OhyKdAnq1Psq2gifEmvfL0-I0,1592
13
- odxtools/comparaminstance.py,sha256=cIacma-ugud_cmWuxHdEERJaXWUtMmQtYqdoanc3h-c,4947
14
- odxtools/comparamspec.py,sha256=nvk4T06xdjvcsrGT2grKuQOU4jBFXyEFN7a_vG0DMr0,3215
14
+ odxtools/comparaminstance.py,sha256=NZImeN3HSfjUx_xyRghH8yDPD8wd5_RadNGWeQD16KI,4949
15
+ odxtools/comparamspec.py,sha256=0-ThV2XoyN9iGSVyt-2U0JtTeS39IE19YhkvGE1RIm0,3175
15
16
  odxtools/comparamsubset.py,sha256=zlu0_ph6mp0v1CcWkB-G6XxFR8ZQGDX2_9edRkGRCbk,5306
16
17
  odxtools/complexcomparam.py,sha256=4EJQXVmi_i3Eas5LAF-sEC5XnAUMZKr2sS6LoDNskk0,3729
17
18
  odxtools/complexdop.py,sha256=AHkHMf_IEWfy-_zSiCuZXmdTNCXiCOpg5GRZ5uMVV5A,280
18
19
  odxtools/createanycomparam.py,sha256=RP0XA2Ut4GL2NWy05RvKBrTnpbvvCG2XuNL8OO-9rbI,617
19
20
  odxtools/createanydiagcodedtype.py,sha256=0DVmMj4UCDYIg0zu9pgTplyhHmRedz1KJcchq1uKMjg,1216
20
21
  odxtools/createecuvariantpatterns.py,sha256=FXHLGR4M791MRkpU2_keck88hoMYkuyPiCUxuGbUasQ,559
21
- odxtools/database.py,sha256=T1AAVSmOx4RfRb4wwgw1VMYDbD0Op_v7S0SKmDeyeOM,6889
22
+ odxtools/database.py,sha256=-Katk2OwVxetB09b9NET8e-uNDDCasJP1_DizOlGubg,7062
22
23
  odxtools/dataobjectproperty.py,sha256=R5sOMIejzcTB-CXTRrL2dWnFwR08eInF531s3l9BQcI,5888
23
- odxtools/decodestate.py,sha256=mgr9dmn8dM7jU6Y7en_Bf8lAx4HHMlpsdbVup5qqgzw,4490
24
+ odxtools/decodestate.py,sha256=jJxLUzUYZ0C4t18FhJzo2iRTP8DF7BzrWLtRTTlLsJI,4885
24
25
  odxtools/description.py,sha256=UoACftC_n7fQ1n9WDwCzizStMH0HCO2Qv0YLRaSjEgs,1484
25
26
  odxtools/determinenumberofitems.py,sha256=DxM9udr1MQfEojiLdc35bbjniQl1fkeHcTMpoo9AfPI,1558
26
27
  odxtools/diagcodedtype.py,sha256=LeL4UzaDM70XN2ec-4c7pdE6Z671TQTS7ivC8XNbd8M,4620
27
28
  odxtools/diagcomm.py,sha256=G9eLLGAiglOtOHYfL5x3JqDCSMuPGZwyrXnvFUEJvqs,8071
28
29
  odxtools/diagdatadictionaryspec.py,sha256=2zy5f-xnfGI0bnjPOEwG_IJxfsHhXZoOfdIS_fOr3L0,10552
29
- odxtools/diaglayer.py,sha256=Fry64c_AfJ1vuIdMwBX_nKQW2oOeCVIjJLmkubst-zo,48621
30
+ odxtools/diaglayer.py,sha256=Sj0hlEGSat7kmYqZlmmtJripuxNyZZtRYm01AuDIM10,48789
30
31
  odxtools/diaglayercontainer.py,sha256=dPEmI72fObAlKZvBfd5nkQVjSTuC3-mEm3-YebJagm0,6041
31
- odxtools/diaglayerraw.py,sha256=2uIGDdF7yJIie5okWXvUul6VDWRsBkUr5HewB7Cno30,14241
32
+ odxtools/diaglayerraw.py,sha256=kRWNG2WznCte8A3HhSniAg0KnjJB2ALJk1cOjrDEBRo,17948
32
33
  odxtools/diaglayertype.py,sha256=FXL-EVBdrAURuHSHo9OthFuEYEybQO66aMB1o2GxVdI,1340
33
- odxtools/diagnostictroublecode.py,sha256=agBIqtma6DZeIHcHOaG7PtueoYQtWkHQPz9N0FrZB44,2469
34
- odxtools/diagservice.py,sha256=PoEU53OZI8RElx_9091tl_7VQnaYMqDEcoKMnhURY9k,9643
34
+ odxtools/diagnostictroublecode.py,sha256=jKtO8JqU0HRpeSyrcHn4s21N4Jj-p19WVP-qw2H98gY,2459
35
+ odxtools/diagservice.py,sha256=ZNj7XbBPcNkrG0MLd8WoFcCneBmz9uU2Lpi8gtUF0mQ,10188
36
+ odxtools/diagvariable.py,sha256=xSVHrhL_1PEJOtZvy9GdV7ixhR35C6wEBO_-W7KO6ss,3644
35
37
  odxtools/docrevision.py,sha256=m57a4lCWeR6QvNNxtwUNpLXAMgSq29ks1HorxoipFVk,2698
36
38
  odxtools/dopbase.py,sha256=JMqlMNKyZJlXwcBFROetCIy1RsK-V_mSCR0MDuA-G5Y,2493
37
- odxtools/dtcdop.py,sha256=hbDUrdePjOg5F4DNz2svttekpgXiIRW7KAtKeih9Ses,7373
39
+ odxtools/dtcdop.py,sha256=BXo2wnAQVw0zn9NAatUp-_MJjRmjMXy_H5iEAQ70B10,8168
38
40
  odxtools/dynamicendmarkerfield.py,sha256=SdG1WfQi0e3IWL-Yza27umMo3VtflCGlyjOxGVvg3sM,5420
39
41
  odxtools/dynamiclengthfield.py,sha256=Us0qRvkRPId7xSNKrYdsr1AhVFdTBezRMCBhXl98E00,5273
42
+ odxtools/dyndefinedspec.py,sha256=ErtMIFVAB-E-ujTUwLXxsheGOOFkhNy6zCXs4cp7biE,7657
40
43
  odxtools/dynenddopref.py,sha256=SYXrmRUQoLWD4UI3WV92oA5rNhxbDuRv6H1MeXeuWhM,1199
41
44
  odxtools/ecuvariantmatcher.py,sha256=FO85WesRmkssSsTrjW8Ehg87FRmv1oHTkH5jPwumWYI,6882
42
45
  odxtools/ecuvariantpattern.py,sha256=Xp2NpS13sVvyOjy2PgxLvXPptAfmYSH_KDIjqYByZHs,863
43
46
  odxtools/element.py,sha256=7JlWYW_KERDpYPfofdfRwT8UQBI94B_iEmhNCM7jUi8,1230
44
- odxtools/encodestate.py,sha256=f5yIynCU1dGKSlOOL4LMeFqsL6CJGlt3IesT_bwKZ04,9428
47
+ odxtools/encodestate.py,sha256=yxeql949uvlB2WnsF0jVcMJ6PvaoYcGB7M0OuB4Afj0,10008
45
48
  odxtools/endofpdufield.py,sha256=mGkhTj-YGdJ4EHMsK3AlWV6G_KLWI4ymiFKbY8U2W50,3359
46
49
  odxtools/environmentdata.py,sha256=_wSKhV_NuMG6UPMnpOxz6mVjvrXsd2mtqqT7VKSSxHU,1414
47
- odxtools/environmentdatadescription.py,sha256=K_dMIjqbyjQ7V4Gc1rJdhOI_CFxxf_GNjQJEq2sMHzo,4331
48
- odxtools/exceptions.py,sha256=yhUWVCx5jzfOrZdjFBx9tgDZQyMSo6CChEJJBvI11js,2508
50
+ odxtools/environmentdatadescription.py,sha256=4LzDitFyxAJF1v3vPTbkrZsADWabMj60WPPa7wb9c2U,9570
51
+ odxtools/exceptions.py,sha256=ZApQkhOJ9gn4jk0uO1wmULn5PhNEl1aMYMSHDoXihh0,2714
49
52
  odxtools/field.py,sha256=NUXouwwdUQW-oCikOzZxKv0dMN9ELQeEVFpwKBWBAqE,3916
50
53
  odxtools/functionalclass.py,sha256=IfhxKd02WNGftjSMyBJ8RsxVZgTBxzUM0h6EKHVrrxY,951
51
54
  odxtools/globals.py,sha256=P6YbgyTSWHMw3sk5cEzsCvVaLrTiakLvewTgySb1jLo,139
@@ -58,17 +61,17 @@ odxtools/matchingparameter.py,sha256=DFS2sm351H-a_8UC1zaRoPjwel8U9EhrWulMDJzcKeg
58
61
  odxtools/message.py,sha256=07GekN1MbYXm7HaUITDKTj2lBmGK-LB9W8gtBmfAOew,1057
59
62
  odxtools/minmaxlengthtype.py,sha256=eF78Zb77f6Q6-JXdP3AjqmqNWo4KhGWb-_PVHT7Exmg,8906
60
63
  odxtools/modification.py,sha256=oyyFsYHixy6XHOdqqTCx3IIkTAKlSN9wxBpNpvhUaJA,838
61
- odxtools/multiplexer.py,sha256=nDoE21EIx72KUNLcn-_UFLefnFXSCS9dsVewdcTt66Y,7940
62
- odxtools/multiplexercase.py,sha256=aqBhzOCvF8Ht7cesFDfI074bTXNEtjWRJKWfpV4-igY,3140
63
- odxtools/multiplexerdefaultcase.py,sha256=dsi-bJBnvjkt0JLypSRcWg80dv4H9jyt0xRBeJrCFT0,2067
64
+ odxtools/multiplexer.py,sha256=NW3vjajt5LleDY_rYWCzOkPLF1xSIxutyUR4uanSwLg,9935
65
+ odxtools/multiplexercase.py,sha256=ObUQIf41UM3tQuECwPLks2Iff_FbN7A-W4Vh6zxSKNs,3177
66
+ odxtools/multiplexerdefaultcase.py,sha256=u3YxZZawhXTOdrC5ltt1YNNaDMGrbL9qsz6PTKrPdSM,2104
64
67
  odxtools/multiplexerswitchkey.py,sha256=fnCpPcg47JQZQsrqS2RAa_O-JrfUb0pvhKv8hhs1RXQ,1551
65
68
  odxtools/nameditemlist.py,sha256=JgolDW_PCa5tHjGIGBwzhWtcre6JisVvv3onFk3dGKE,6539
66
69
  odxtools/negoutputparam.py,sha256=u2IhJvy6n19t3nyADGG0H0XTm7JNdQ0-95FawGAdtiE,1373
67
70
  odxtools/obd.py,sha256=WsUbhdonqQJtxf972CUdYL78AMMTVjMQhoCJbaZhRIo,1860
68
- odxtools/odxlink.py,sha256=iIZPwF_fNVQKJtrux9NqJDA-kkE6ueRGsTXpVvxfMU8,10146
69
- odxtools/odxtypes.py,sha256=tp_IlCz3rHycZ1mV3TaUAEW0B1XI2xkBjxdyC2SIlNY,7525
71
+ odxtools/odxlink.py,sha256=YoEovTx5T8c5YFJPa2CSxk_gwRfP8miGCwicHbpqQNg,9259
72
+ odxtools/odxtypes.py,sha256=BUOoYMHEV7SiWH3zeFURtpWeOuv89Ojg1hhzPl3lvdk,7525
70
73
  odxtools/outputparam.py,sha256=e9YvdJvKlX-GOdmu2vCPO6BZEyOLuOsYEdvtC5ISLHM,1636
71
- odxtools/parameterinfo.py,sha256=6NMPJtmUEPvRWWtgF4erpYPWNtvs3hUso7dUikaPWiA,8194
74
+ odxtools/parameterinfo.py,sha256=xXYHVD2KeZL3LgwyWnebulX4pQ8GWTNgpbXavJZa1RY,8226
72
75
  odxtools/paramlengthinfotype.py,sha256=vhgvCPIRnyCF9t8yhkYf5MsHXQhWWeEgz_kS8AbiONQ,4700
73
76
  odxtools/parentref.py,sha256=D7OECnuPDpDDdfLNu-4pPZCMVmE2wAwtJx5hzp2LFoU,3740
74
77
  odxtools/physicaldimension.py,sha256=iaf7LIJEiEoV3WniybEpDvGgL4Z_iWCjo1HlQy663GU,3359
@@ -80,11 +83,11 @@ odxtools/relateddoc.py,sha256=zb5Ea9vkd31kxTP4s5_PLF3LuCoUcG8rgLckStHVRDc,1301
80
83
  odxtools/request.py,sha256=58Qj8DaQBNnMLTINwDfFnbiTHkdqLvsSGBhnbQ-3aJ8,1236
81
84
  odxtools/response.py,sha256=-E7IKlocsg4EC5F0txoNXZloZBAqFVfrRnzXKAzFl2U,1808
82
85
  odxtools/scaleconstr.py,sha256=xSH8kmld5Gg1lVgjLWTZINEtDn2a3HemVqlXiHsl4Fs,1783
83
- odxtools/servicebinner.py,sha256=ijFp5CqU5PO0Wx_YFtJB8tQigMLhg9TYu78BQELoet0,3859
86
+ odxtools/servicebinner.py,sha256=TId3D3XHa98zbyC1sGWacQUlIZ5e2Egklelv6_Ra2II,3861
84
87
  odxtools/singleecujob.py,sha256=rlpReb9816abYX0oihYXMkIQo8hnzbUkZqkTvX-IRZ4,3920
85
88
  odxtools/snrefcontext.py,sha256=iIQIHedr7ofIhIjl6IHmb7KNPQSardbVxqVM09hHL5M,942
86
89
  odxtools/specialdata.py,sha256=5-1D_6dcEmi-TodCzCoBZK7gqeDY-cuRe1ybkTh4rBY,1033
87
- odxtools/specialdatagroup.py,sha256=QGELyeGLswjah8i1V6RK_hKGXoKk9uq3TFQVKJQloDQ,3037
90
+ odxtools/specialdatagroup.py,sha256=y2fMwWVX5h7W7-gBi6izlvdc26bkYRYXKNbinNel3RM,3070
88
91
  odxtools/specialdatagroupcaption.py,sha256=pIa1l6EXVDXBisUtRkn6hTzAcUXFnXJoWstesayLfME,987
89
92
  odxtools/standardlengthtype.py,sha256=zBR8SoYcMZI21UEWh6hhpngMpv3FswDnqJurGZa0NPI,5144
90
93
  odxtools/state.py,sha256=d--nCbV1qBmOmiTmUrQjDC_naispOM0a-H1AvCe5_xI,898
@@ -92,6 +95,7 @@ odxtools/statechart.py,sha256=ZT8amPjec25pexwnOAPiifGEmKa68rliOILLnB6tNJc,2956
92
95
  odxtools/statetransition.py,sha256=axZ1ePyyWAsxslTI5KDjZxC42uNyoPc6N7cNIhP5pxE,1860
93
96
  odxtools/staticfield.py,sha256=NBZa5UZD4BD4UekpqF5bq_IzFjxUafmvpCHIEptOl-s,4434
94
97
  odxtools/structure.py,sha256=W8uX1YQuJUApKfeLxYqlnU3EZ3AjTqcYpCUStR43ORI,582
98
+ odxtools/swvariable.py,sha256=tp8XJUokYOcAUkrQLM92IYDf7evIefwZR_DgMm33iYQ,622
95
99
  odxtools/table.py,sha256=zgpVveH8neSNhdcsPp0jG4f6H00M0NKCuAME8MSrf-Q,4024
96
100
  odxtools/tablerow.py,sha256=hOi7FCX7TiCRxErCD1hKU6h2hT5_8V3ghtt8dJXOiQY,6307
97
101
  odxtools/teammember.py,sha256=xn1y6k42zQoyM2SlEkZ8UFyiqBvVI5FNZAm_xt2Vt_Y,1772
@@ -100,18 +104,19 @@ odxtools/unit.py,sha256=zzQlQGAct6G0dARTlqBlhqnkg2iixkViI4VScLWrnP4,3667
100
104
  odxtools/unitgroup.py,sha256=_WNpnYFmkiHQnOY8XhIviiQLXziY3kplH--7ufAWXyI,2067
101
105
  odxtools/unitspec.py,sha256=bc3B6ysTXSxpNWyQ6cQVJgIGyxmeqRTeshc3bdym1iA,2948
102
106
  odxtools/utils.py,sha256=PJFXkG74BzoheurrDYOwHZ6EuIcr1sdxf1tQGk6zSgs,1122
103
- odxtools/version.py,sha256=Kbq1zCFamvnaPzgkbRwZay-AcYLXyGeNBjGUvNnwkvE,411
107
+ odxtools/variablegroup.py,sha256=Rm41-ESXi7urIHiIuW5hKjCjiOtx0LR5lFC9Yye_1-E,619
108
+ odxtools/version.py,sha256=HfuUtr1juxBpnbAjLDYlq6YyUV6emrCTcttw-JVfOqI,411
104
109
  odxtools/writepdxfile.py,sha256=x3W2xiPVjzNZjfpJssY6ngkx74sZtb95OFmBHql1VY4,7766
105
110
  odxtools/xdoc.py,sha256=gDq-8l8x-Tj1ZJOttPxZchcO5_jEPwcXxMgT29VgTS0,1433
106
111
  odxtools/cli/__init__.py,sha256=T7ano_FIyzBASxYpmcA5VJXU5bQLIy_Qk0HE_SDKelY,106
107
112
  odxtools/cli/_parser_utils.py,sha256=p0L9NYYnml5ydfD22oC04EMhz8PKHgU40GPOPkybZwg,1116
108
- odxtools/cli/_print_utils.py,sha256=rYRAMkuu9RK7TWlSjKJZcPRQct0_n4E1E2ogvlzhkRI,10349
109
- odxtools/cli/browse.py,sha256=hvGcwJ_zgJ7H-p9ShhaoH4XeYR2wICpxXFF5nkftIMc,15797
113
+ odxtools/cli/_print_utils.py,sha256=HD1upA7CHBU72PGmHXQxPOg-b7X2tc67BnojV7W_Jis,10365
114
+ odxtools/cli/browse.py,sha256=76VntY23LCZUHQsjHJyFubLk65V7G1NZvg3__oAMXV8,15909
110
115
  odxtools/cli/compare.py,sha256=jH3TKOFoSMDxK1ierLbeMiTbSLh-tyhB7sKIGhTjgHc,36767
111
116
  odxtools/cli/decode.py,sha256=7tAUUyfJPaKNwVJfFZ61qGVc97i03wgb_wr2pAH_JWQ,4315
112
117
  odxtools/cli/dummy_sub_parser.py,sha256=F2N_lRrxuU-beORcyrJ4bdbRsQl42-aPEBtyPJ74Tvo,1466
113
118
  odxtools/cli/find.py,sha256=GZKzvsOus1Zv8n3nAG-ZsPgWJpB7z3wNxeqKtAL5mAo,4394
114
- odxtools/cli/list.py,sha256=IxAPWJatqnCKni6ZpmsmH88AK3BtgucEwSMjPk1UXSM,8475
119
+ odxtools/cli/list.py,sha256=sOHGyGTHSaL3cFHSaErHh4kwXkuhS-02HblOTKHg2xw,8491
115
120
  odxtools/cli/main.py,sha256=_zPCU6N2ofpj_jQuQ_BU5EafBpMW0srhahZI8BgAM-0,2335
116
121
  odxtools/cli/snoop.py,sha256=t0RstKjDRdx9_mlgALyKqj7pi8JCVMmyO5mGEmYj2VQ,9590
117
122
  odxtools/compumethods/compuconst.py,sha256=14JIJXVKSe4bPWb5JyKXB6tAASMcWznExE1w6z1SMoc,806
@@ -126,7 +131,7 @@ odxtools/compumethods/createanycompumethod.py,sha256=eQ5hgpFZiVoD9Xi9dHKsOa1n1yf
126
131
  odxtools/compumethods/identicalcompumethod.py,sha256=VVQ0tAkmowXZMBFQd9-n0VnsodDFRHXWdWgpNxdHAkQ,2077
127
132
  odxtools/compumethods/limit.py,sha256=QjrY6dd0Kc7n4CcweMBrkwlX4hsmx0bkQEaQKmTxQ18,4164
128
133
  odxtools/compumethods/linearcompumethod.py,sha256=mKCHUOWgJgooegGrVIkK9J9xX0n01x-CYO2UyUaRvtM,3667
129
- odxtools/compumethods/linearsegment.py,sha256=uKNxwAi0cVELQzksBm2-7q8HbP8wxY48X5K0AofoA3M,7311
134
+ odxtools/compumethods/linearsegment.py,sha256=_v5XwcwZ3IC3WXaRejmY_kDo1ccew4YCrBt3-hnFqZM,7188
130
135
  odxtools/compumethods/scalelinearcompumethod.py,sha256=o_Re17G4XlCn-XbStnvlTs9XVN4h71mkkYyIOii-7w4,5895
131
136
  odxtools/compumethods/tabintpcompumethod.py,sha256=Gyf2qV5y53SHIcum5d5HQVGszoZCdu47jxMCQ6yKdQk,8065
132
137
  odxtools/compumethods/texttablecompumethod.py,sha256=vDYafbM0YaipjfN0NSlCFMiIPvp8waMNj3thNcwuYgk,5929
@@ -135,14 +140,14 @@ odxtools/parameters/createanyparameter.py,sha256=m26HHUQrxwDak3eBBciVBLic768Qlo4
135
140
  odxtools/parameters/dynamicparameter.py,sha256=mdZx12XbhTSYVVuXEsPYRll3zaHjbHIYIzA6yUy4zck,1569
136
141
  odxtools/parameters/lengthkeyparameter.py,sha256=WSpSIbxFmEwBov6Jj5Ubj9gMr46OgrdNi5-UaahCjAo,5270
137
142
  odxtools/parameters/matchingrequestparameter.py,sha256=VNYIpmP_Yt_pzMHPgGWZk1XYH5liIdyawNIwIR1Cbvw,2897
138
- odxtools/parameters/nrcconstparameter.py,sha256=oiQMJoJtZ9NhnaPDF0aEjc78-8PWTfkqeyhGPcxeURo,5250
143
+ odxtools/parameters/nrcconstparameter.py,sha256=SjTHQlaBzvyUATyOzSFFWCcdkTeHcaoKO54kTomzb6Y,4823
139
144
  odxtools/parameters/parameter.py,sha256=K6UU0vQV010n-7oov9uibN7u5-cIp-r68Vfaz7jJqR0,5945
140
145
  odxtools/parameters/parameterwithdop.py,sha256=fBkyOfDbbQosHCx3Phg2BZ-8kBwQUgSN0_XfCAaYmoA,3308
141
146
  odxtools/parameters/physicalconstantparameter.py,sha256=2iC6EKVJZVHwVVmd4h8KJ6OLc7B5QOUawivQMqWPCRA,3593
142
147
  odxtools/parameters/reservedparameter.py,sha256=8XQocU3_ExRZzXYEkITj535TTEUCNK87wIkrUTizgvI,1989
143
- odxtools/parameters/systemparameter.py,sha256=AFhyd7KxVzAjrOxgpq7PMGjo4gFd26ABxTAyaA46bbs,1784
148
+ odxtools/parameters/systemparameter.py,sha256=bDz0zV_FNiUDyqI3DUKRAa9F3Pm1yjp_su5ib4JemlA,1779
144
149
  odxtools/parameters/tableentryparameter.py,sha256=SuNAFn1wN_hyO2MVd1lT3oQllZ6nLjAIBJHX0HYRyko,2414
145
- odxtools/parameters/tablekeyparameter.py,sha256=e9K0KD3JY0W-k-SEYO9S8Fv-7mU6CQbIuBQIuQ9HaiY,9671
150
+ odxtools/parameters/tablekeyparameter.py,sha256=6Icnr2EMwRoKWRiHct8nrUb56jJ4giVmWApharQDLCc,9955
146
151
  odxtools/parameters/tablestructparameter.py,sha256=Doym0Tybi_t8w7nqM9n_ZAFwRWm-yJOnsaSqi4u5KiU,7032
147
152
  odxtools/parameters/valueparameter.py,sha256=khsmiaLhpW2PjUKQaAkntwurxsml3TUzNwaZCaWNS50,3063
148
153
  odxtools/templates/comparam-spec.odx-c.xml.jinja2,sha256=esdk5C0rjG6azzA1uZYiC-9Hzhqtn_d654AFq8VRa6g,1525
@@ -153,28 +158,30 @@ odxtools/templates/macros/printAdminData.xml.jinja2,sha256=YTB_CbhnALF6RIbE0XKQH
153
158
  odxtools/templates/macros/printAudience.xml.jinja2,sha256=IiAogxtEIo6qg7iZm1plQtrM4nkl6jj9GhIv5QI5ETM,1278
154
159
  odxtools/templates/macros/printBasicStructure.xml.jinja2,sha256=V5oWGZesU_U5pvPO3Rtlodc7sxe5mFWY-uURLnQ8OfQ,614
155
160
  odxtools/templates/macros/printCompanyData.xml.jinja2,sha256=-F5xfUbjFAee7E__lgLCXC8a9xn15t_MDfxv6BzbKGA,2965
156
- odxtools/templates/macros/printComparam.xml.jinja2,sha256=XsbUNK4zO927WSv8zsmodNrRxvoB1czHFzEXU-uvgIE,2324
161
+ odxtools/templates/macros/printComparam.xml.jinja2,sha256=rhoJO78urhjO07kuX0p_PRwfRHPIp2BPRu-eQ-USe6I,2392
157
162
  odxtools/templates/macros/printComparamRef.xml.jinja2,sha256=rBhrdUnp605fsUN9SaljpyaAojzaLBvTbkOuduKod18,1274
158
- odxtools/templates/macros/printCompuMethod.xml.jinja2,sha256=Qh8jRvcyV88-aK3jN8mQ0Tc6ZjR7BhXnxkTAZKFsW9o,4541
163
+ odxtools/templates/macros/printCompuMethod.xml.jinja2,sha256=ME-QFuJAkJeNfBEl1DMquoujtIWsdymtfLxJ6Wj3wGE,4390
159
164
  odxtools/templates/macros/printDOP.xml.jinja2,sha256=1i8s6Z9zR6C5WRngxXPMGaHhoaZsJSEfWsggjfxnRqY,5138
160
165
  odxtools/templates/macros/printDescription.xml.jinja2,sha256=zsPzVuM4cZJr0RlUYKQ-tGVDNVRO0yAs_pYetFHme3s,450
161
166
  odxtools/templates/macros/printDiagComm.xml.jinja2,sha256=eIKtu3xEmoQllyNYOWQx5Iv2oljKSg3lR6V4As-SFE0,2231
167
+ odxtools/templates/macros/printDiagVariable.xml.jinja2,sha256=7Fa0DFyeEUDUxgM0IUsj_BXC2-csLSv1xjiUT1yauis,2531
168
+ odxtools/templates/macros/printDynDefinedSpec.xml.jinja2,sha256=uX3C40VmlbH7sndlJNyTvq8upzaoq8vCk6S93gtpFIY,1742
162
169
  odxtools/templates/macros/printDynamicEndmarkerField.xml.jinja2,sha256=EvUOkfVsNAT61B5OApyE7Yh45C_A_iBg9gCTiq_td7w,579
163
170
  odxtools/templates/macros/printDynamicLengthField.xml.jinja2,sha256=YCwgKV2na49mlHQQmI8L85ZYqUktaYuNil-K6rp4BR8,776
164
- odxtools/templates/macros/printEcuVariantPattern.xml.jinja2,sha256=5J2e8cIIdBJ9MUMZp4cgfrSFCUm5UHsLpViPz9WPT0g,842
171
+ odxtools/templates/macros/printEcuVariantPattern.xml.jinja2,sha256=uSUrX1n2YVw6tt1-A0Lmlgy_W3dxW4r8bVErdrf_6vk,846
165
172
  odxtools/templates/macros/printElementId.xml.jinja2,sha256=wuCXYyXlg50zgUvukxScHN_SCH8YEATjkcqvwsC9aNw,389
166
173
  odxtools/templates/macros/printEndOfPdu.xml.jinja2,sha256=_BwCjD0iBya3JFRi_XcUrq8nwR96O7Tw6TeRu3t6Tgs,671
167
174
  odxtools/templates/macros/printEnvData.xml.jinja2,sha256=2Goatqb66d-pCf9wqJDXn1EZWNhkQ8FJANKQMOnxuJs,609
168
175
  odxtools/templates/macros/printEnvDataDesc.xml.jinja2,sha256=23d4XOrHD6O-JHGVYbwnLVJWwaw3al1kneSsP2EIW0Q,580
169
176
  odxtools/templates/macros/printFunctionalClass.xml.jinja2,sha256=7Jtf_xB3bBcvjK_fXXHYTDXqcxMU4eBnJeZgLPKjFmg,321
170
177
  odxtools/templates/macros/printMux.xml.jinja2,sha256=EL9sCWzqC3iaBPsrTINUo03zGGMrU-bWbJ3f0U5CBIQ,1861
171
- odxtools/templates/macros/printParam.xml.jinja2,sha256=oyBC4sdIDLEYiE765PUT0CCPem3qJx1GHTq_kcO6ymM,3203
178
+ odxtools/templates/macros/printParam.xml.jinja2,sha256=BKvKvswnelCynXmz_rAsejMdtce6Fji2CkSteX5x0jI,3203
172
179
  odxtools/templates/macros/printParentRef.xml.jinja2,sha256=RllVKt2RgrMnWfsujGnBUiABwV2y4_ZfINYy7LXenPM,896
173
180
  odxtools/templates/macros/printProtStack.xml.jinja2,sha256=abss3fNe-e5CbFBI0WcRopP7omIV2POzT0qJ6Az7dUE,765
174
181
  odxtools/templates/macros/printRequest.xml.jinja2,sha256=GazGOinjHp72ZhIZ8LVKpRxYcyYyNlBmEUNuN0cgntg,709
175
182
  odxtools/templates/macros/printResponse.xml.jinja2,sha256=QVU8dVCJm_Tv_Cy6SEun-fJBs2w9ASEfJeRs0LynZdA,675
176
- odxtools/templates/macros/printService.xml.jinja2,sha256=F2UQl2MuyVa2npHWOLjfoJuYaK3C6xnBNtgjFEdKNWk,1480
177
- odxtools/templates/macros/printSingleEcuJob.xml.jinja2,sha256=uEgop8DZsw8XUlkdUhCsCkfGzQVILidvxJmJXMPZrro,2621
183
+ odxtools/templates/macros/printService.xml.jinja2,sha256=zvjOCELEx4yim2FtdNKiExTsDPkAfQAP4Gf_QsondfQ,1546
184
+ odxtools/templates/macros/printSingleEcuJob.xml.jinja2,sha256=KQqp5TeKPEC3Z_kasE35n9SRw7KhjPulQ4ijyReKF-U,2637
178
185
  odxtools/templates/macros/printSpecialData.xml.jinja2,sha256=SrgPPQkZF5C4wdveJSiHk8QJVYZ2zbd6XFvkyt7NEBE,1378
179
186
  odxtools/templates/macros/printState.xml.jinja2,sha256=B-rhB7HgfZCoC_mGljgDaX9hU4X1tZ9DbS39WpffBu4,307
180
187
  odxtools/templates/macros/printStateChart.xml.jinja2,sha256=bOj9FWl-kZmlhoMskG71zS9NxtTimGwQvgDpKNaPw6s,943
@@ -183,10 +190,10 @@ odxtools/templates/macros/printStaticField.xml.jinja2,sha256=JIXFhyNrnQ-2_vWy6Rx
183
190
  odxtools/templates/macros/printStructure.xml.jinja2,sha256=uswYs2xse0B9hZut_FN1GvvR0xsZa_3pZRnlF0ElEEc,559
184
191
  odxtools/templates/macros/printTable.xml.jinja2,sha256=VsP01jqyQllLP-brQ6J1E8ubVntiToEb8Uk7HQEYqtY,1485
185
192
  odxtools/templates/macros/printUnitSpec.xml.jinja2,sha256=AJ5jWYKRmoIZkrd25R1KmjjgU6pfOqRiOQHtUAuS6GI,2813
186
- odxtools/templates/macros/printVariant.xml.jinja2,sha256=EoRph66FQ7odFHFwhFqxiltnEkbZstkJCOlq6U_1KG0,7258
187
- odxtools-7.2.0.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
188
- odxtools-7.2.0.dist-info/METADATA,sha256=etG27iz7XWoVUMRtmqgQ7AoapgxbLsPJS6SgNqyVsSw,44108
189
- odxtools-7.2.0.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
190
- odxtools-7.2.0.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
191
- odxtools-7.2.0.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
192
- odxtools-7.2.0.dist-info/RECORD,,
193
+ odxtools/templates/macros/printVariant.xml.jinja2,sha256=sIGHn_jWuE_OkZIZa84tjb_aglMhbn79ynHx7_qdZDg,7831
194
+ odxtools-7.4.0.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
195
+ odxtools-7.4.0.dist-info/METADATA,sha256=4FCezckXvWSEoG9mXsPJ51lEud4L8_Sb2Qoo__he9GQ,44084
196
+ odxtools-7.4.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
197
+ odxtools-7.4.0.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
198
+ odxtools-7.4.0.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
199
+ odxtools-7.4.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.1.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5