pyxcp 0.22.32__tar.gz → 0.22.34__tar.gz

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.

Potentially problematic release.


This version of pyxcp might be problematic. Click here for more details.

Files changed (123) hide show
  1. {pyxcp-0.22.32 → pyxcp-0.22.34}/PKG-INFO +6 -6
  2. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyproject.toml +11 -20
  3. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/__init__.py +1 -1
  4. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/converter/__init__.py +4 -5
  5. {pyxcp-0.22.32 → pyxcp-0.22.34}/CMakeLists.txt +0 -0
  6. {pyxcp-0.22.32 → pyxcp-0.22.34}/LICENSE +0 -0
  7. {pyxcp-0.22.32 → pyxcp-0.22.34}/README.md +0 -0
  8. {pyxcp-0.22.32 → pyxcp-0.22.34}/build_ext.py +0 -0
  9. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/EtasCANMonitoring.a2l +0 -0
  10. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/EtasCANMonitoring.aml +0 -0
  11. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/XCP_Common.aml +0 -0
  12. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/XCPonCAN.aml +0 -0
  13. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/XCPonEth.aml +0 -0
  14. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/XCPonFlx.aml +0 -0
  15. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/XCPonSxI.aml +0 -0
  16. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/XCPonUSB.aml +0 -0
  17. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/ifdata_CAN.a2l +0 -0
  18. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/ifdata_Eth.a2l +0 -0
  19. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/ifdata_Flx.a2l +0 -0
  20. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/ifdata_SxI.a2l +0 -0
  21. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/aml/ifdata_USB.a2l +0 -0
  22. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/asam/__init__.py +0 -0
  23. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/asam/types.py +0 -0
  24. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/asamkeydll.c +0 -0
  25. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/asamkeydll.sh +0 -0
  26. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/checksum.py +0 -0
  27. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cmdline.py +0 -0
  28. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/config/__init__.py +0 -0
  29. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/config/legacy.py +0 -0
  30. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/constants.py +0 -0
  31. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/__init__.py +0 -0
  32. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/bin.hpp +0 -0
  33. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/blockmem.hpp +0 -0
  34. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/daqlist.hpp +0 -0
  35. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/event.hpp +0 -0
  36. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/extension_wrapper.cpp +0 -0
  37. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/helper.hpp +0 -0
  38. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/mcobject.hpp +0 -0
  39. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/cpp_ext/tsqueue.hpp +0 -0
  40. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/__init__.py +0 -0
  41. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/optimize/__init__.py +0 -0
  42. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/optimize/binpacking.py +0 -0
  43. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/scheduler.cpp +0 -0
  44. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/scheduler.hpp +0 -0
  45. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/stim.cpp +0 -0
  46. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/stim.hpp +0 -0
  47. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/daq_stim/stim_wrapper.cpp +0 -0
  48. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/dllif.py +0 -0
  49. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/errormatrix.py +0 -0
  50. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_can.toml +0 -0
  51. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_can_user.toml +0 -0
  52. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_can_vector.json +0 -0
  53. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_can_vector.toml +0 -0
  54. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_eth.toml +0 -0
  55. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_nixnet.json +0 -0
  56. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_socket_can.toml +0 -0
  57. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_sxi.json +0 -0
  58. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/conf_sxi.toml +0 -0
  59. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/run_daq.py +0 -0
  60. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/xcp_policy.py +0 -0
  61. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/xcp_read_benchmark.py +0 -0
  62. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/xcp_skel.py +0 -0
  63. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/xcp_unlock.py +0 -0
  64. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/xcp_user_supplied_driver.py +0 -0
  65. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/xcphello.py +0 -0
  66. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/examples/xcphello_recorder.py +0 -0
  67. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/master/__init__.py +0 -0
  68. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/master/errorhandler.py +0 -0
  69. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/master/master.py +0 -0
  70. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/py.typed +0 -0
  71. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/__init__.py +0 -0
  72. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/build_clang.cmd +0 -0
  73. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/build_clang.sh +0 -0
  74. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/build_gcc.cmd +0 -0
  75. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/build_gcc.sh +0 -0
  76. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/build_gcc_arm.sh +0 -0
  77. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/lz4.c +0 -0
  78. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/lz4.h +0 -0
  79. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/lz4hc.c +0 -0
  80. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/lz4hc.h +0 -0
  81. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/mio.hpp +0 -0
  82. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/reader.hpp +0 -0
  83. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/reco.py +0 -0
  84. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/recorder.rst +0 -0
  85. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/rekorder.cpp +0 -0
  86. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/rekorder.hpp +0 -0
  87. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/setup.py +0 -0
  88. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/test_reko.py +0 -0
  89. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/unfolder.hpp +0 -0
  90. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/wrap.cpp +0 -0
  91. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/recorder/writer.hpp +0 -0
  92. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/__init__.py +0 -0
  93. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/pyxcp_probe_can_drivers.py +0 -0
  94. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/xcp_examples.py +0 -0
  95. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/xcp_fetch_a2l.py +0 -0
  96. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/xcp_id_scanner.py +0 -0
  97. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/xcp_info.py +0 -0
  98. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/xcp_profile.py +0 -0
  99. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/scripts/xmraw_converter.py +0 -0
  100. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/stim/__init__.py +0 -0
  101. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_asam_types.py +0 -0
  102. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_binpacking.py +0 -0
  103. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_can.py +0 -0
  104. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_checksum.py +0 -0
  105. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_daq.py +0 -0
  106. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_daq_opt.py +0 -0
  107. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_frame_padding.py +0 -0
  108. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_master.py +0 -0
  109. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_transport.py +0 -0
  110. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/tests/test_utils.py +0 -0
  111. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/timing.py +0 -0
  112. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/__init__.py +0 -0
  113. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/base.py +0 -0
  114. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/base_transport.hpp +0 -0
  115. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/can.py +0 -0
  116. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/eth.py +0 -0
  117. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/sxi.py +0 -0
  118. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/transport_wrapper.cpp +0 -0
  119. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/transport/usb_transport.py +0 -0
  120. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/types.py +0 -0
  121. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/utils.py +0 -0
  122. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/vector/__init__.py +0 -0
  123. {pyxcp-0.22.32 → pyxcp-0.22.34}/pyxcp/vector/map.py +0 -0
@@ -1,23 +1,23 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyxcp
3
- Version: 0.22.32
3
+ Version: 0.22.34
4
4
  Summary: Universal Calibration Protocol for Python
5
5
  License: LGPLv3
6
6
  Keywords: automotive,ecu,xcp,asam,autosar
7
7
  Author: Christoph Schueler
8
8
  Author-email: cpu.gems@googlemail.com
9
- Requires-Python: >=3.8.1,<4.0.0
9
+ Requires-Python: >=3.10,<4.0
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: Intended Audience :: Developers
12
12
  Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
13
13
  Classifier: License :: Other/Proprietary License
14
14
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
18
  Classifier: Programming Language :: Python :: 3.13
20
19
  Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Topic :: Scientific/Engineering
22
22
  Classifier: Topic :: Software Development
23
23
  Requires-Dist: bandit (>=1.7.8,<2.0.0)
@@ -27,11 +27,11 @@ Requires-Dist: line-profiler-pycharm (>=1.1.0,<2.0.0)
27
27
  Requires-Dist: mako (>=1.2.4,<2.0.0)
28
28
  Requires-Dist: pyserial (>=3.5,<4.0)
29
29
  Requires-Dist: python-can (>=4.2.2,<5.0.0)
30
- Requires-Dist: pytz (>=2024.1,<2025.0)
30
+ Requires-Dist: pytz (>=2025.2,<2026.0)
31
31
  Requires-Dist: pyusb (>=1.2.1,<2.0.0)
32
- Requires-Dist: rich (>=13.6.0,<14.0.0)
32
+ Requires-Dist: rich (>=14.0.0,<15.0.0)
33
33
  Requires-Dist: toml (>=0.10.2,<0.11.0)
34
- Requires-Dist: tomlkit (>=0.12.5,<0.13.0)
34
+ Requires-Dist: tomlkit (>=0.13.3,<0.14.0)
35
35
  Requires-Dist: traitlets (<=5.11.2)
36
36
  Requires-Dist: uptime (>=3.0.1,<4.0.0)
37
37
  Project-URL: Homepage, https://github.com/christoph2/pyxcp
@@ -27,8 +27,8 @@ sphinx-click = ">=3.0.2"
27
27
  typeguard = ">=2.13.3"
28
28
  xdoctest = {extras = ["colors"], version = ">=0.15.10"}
29
29
  myst-parser = {version = ">=0.16.1"}
30
- ruff = "^0.1.0"
31
- pre-commit-hooks = "^4.6.0"
30
+ ruff = "^0.12.0"
31
+ pre-commit-hooks = "^5.0.0"
32
32
 
33
33
  [project]
34
34
  name = "pyxcp"
@@ -37,7 +37,7 @@ dynamic = ["license", "readme", "authors", "requires-python", "description", "cl
37
37
  [tool.poetry]
38
38
  authors = ["Christoph Schueler <cpu.gems@googlemail.com>"]
39
39
  name = "pyxcp"
40
- version = "0.22.32"
40
+ version = "0.22.34"
41
41
  readme = "README.md"
42
42
  description = "Universal Calibration Protocol for Python"
43
43
  keywords = ["automotive", "ecu", "xcp", "asam", "autosar"]
@@ -75,21 +75,21 @@ include = [
75
75
  ]
76
76
 
77
77
  [tool.poetry.dependencies]
78
- python = "^3.8.1"
78
+ python = "^3.10"
79
79
  construct = "^2.10.68"
80
80
  mako = "^1.2.4"
81
81
  pyserial = "^3.5"
82
82
  pyusb = "^1.2.1"
83
83
  python-can = "^4.2.2"
84
84
  uptime = "^3.0.1"
85
- rich = "^13.6.0"
85
+ rich = "^14.0.0"
86
86
  chardet = "^5.2.0"
87
87
  traitlets = "<=5.11.2"
88
88
  line-profiler-pycharm = "^1.1.0"
89
89
  toml = "^0.10.2"
90
90
  bandit = "^1.7.8"
91
- tomlkit = "^0.12.5"
92
- pytz = "^2024.1"
91
+ tomlkit = "^0.13.3"
92
+ pytz = "^2025.2"
93
93
 
94
94
  [tool.poetry.scripts]
95
95
  pyxcp-probe-can-drivers = "pyxcp.scripts.pyxcp_probe_can_drivers:main"
@@ -167,23 +167,14 @@ exclude = '''
167
167
 
168
168
  [tool.cibuildwheel]
169
169
  build-verbosity = 3
170
- #test-command = "pytest {package}/tests"
170
+ #test-command = "pya2l {package}/tests"
171
171
 
172
- build = "cp3{8,9,10,11,12,13}-*"
173
- skip = ["*-manylinux_i686", "*-musllinux_x86_64", "*-musllinux_i686", "cp38-manylinux*"]
172
+ build = "cp3{10,11,12,13,14}-*"
173
+ skip = ["*_i686", "*-musllinux*"]
174
174
  build-frontend = "build"
175
175
 
176
- [tool.cibuildwheel.macos]
177
- archs = ["x86_64", "universal2", "arm64"]
178
-
179
176
  [tool.cibuildwheel.windows]
180
- archs = ["AMD64"] # , "ARM64"
181
-
182
- [tool.cibuildwheel.linux]
183
- # archs = ["auto", "aarch64"]
184
- archs = ["x86_64", "aarch64"]
185
- # before-all = "yum install -y libffi openssl openssl-devel gcc libpython3-dev"
186
- manylinux-x86_64-image = "manylinux_2_28"
177
+ archs = ["AMD64"]
187
178
 
188
179
  [tool.pyright]
189
180
  include = ["pyxcp", "build_ext.py"]
@@ -17,4 +17,4 @@ tb_install(show_locals=True, max_frames=3) # Install custom exception handler.
17
17
 
18
18
  # if you update this manually, do not forget to update
19
19
  # .bumpversion.cfg and pyproject.toml.
20
- __version__ = "0.22.32"
20
+ __version__ = "0.22.34"
@@ -1,5 +1,4 @@
1
- """Convert pyXCPs .xmraw files to common data formats.
2
- """
1
+ """Convert pyXCPs .xmraw files to common data formats."""
3
2
 
4
3
  import csv
5
4
  import logging
@@ -318,8 +317,7 @@ class MdfConverter(CollectRows, XcpLogFileDecoder):
318
317
  time_flags=FLAG_HD_TIME_OFFSET_VALID,
319
318
  )
320
319
  hdr.comment = f"""<HDcomment><TX>Timezone: {timestamp_info.timezone}</TX></HDcomment>""" # Test-Comment.
321
- mdf4 = MDF(version="4.10")
322
- mdf4.header = hdr
320
+ mdf4 = MDF(version="4.10", header=hdr)
323
321
  for idx, arr in enumerate(self.tables):
324
322
  signals = []
325
323
  timestamps = arr.timestamp0
@@ -369,7 +367,8 @@ class SqliteConverter(XcpLogFileDecoder):
369
367
  self.create_table(sc)
370
368
  self.logger.info(f"Creating table {sc.name!r}.")
371
369
  self.insert_stmt[sc.name] = (
372
- f"""INSERT INTO {sc.name}({', '.join(['timestamp0', 'timestamp1'] + [r.name for r in sc.arr])}) VALUES({', '.join(["?" for _ in range(len(sc.arr) + 2)])})"""
370
+ f"""INSERT INTO {sc.name}({', '.join(['timestamp0', 'timestamp1'] + [r.name for r in sc.arr])})"""
371
+ f""" VALUES({', '.join(["?" for _ in range(len(sc.arr) + 2)])})"""
373
372
  )
374
373
 
375
374
  def on_finalize(self) -> None:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes