pyxcp 0.22.2__tar.gz → 0.22.4__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.2 → pyxcp-0.22.4}/PKG-INFO +1 -1
  2. {pyxcp-0.22.2 → pyxcp-0.22.4}/build_ext.py +31 -5
  3. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyproject.toml +1 -1
  4. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/__init__.py +1 -1
  5. {pyxcp-0.22.2 → pyxcp-0.22.4}/CMakeLists.txt +0 -0
  6. {pyxcp-0.22.2 → pyxcp-0.22.4}/LICENSE +0 -0
  7. {pyxcp-0.22.2 → pyxcp-0.22.4}/README.md +0 -0
  8. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/EtasCANMonitoring.a2l +0 -0
  9. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/EtasCANMonitoring.aml +0 -0
  10. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/XCP_Common.aml +0 -0
  11. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/XCPonCAN.aml +0 -0
  12. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/XCPonEth.aml +0 -0
  13. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/XCPonFlx.aml +0 -0
  14. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/XCPonSxI.aml +0 -0
  15. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/XCPonUSB.aml +0 -0
  16. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/ifdata_CAN.a2l +0 -0
  17. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/ifdata_Eth.a2l +0 -0
  18. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/ifdata_Flx.a2l +0 -0
  19. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/ifdata_SxI.a2l +0 -0
  20. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/aml/ifdata_USB.a2l +0 -0
  21. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/asam/__init__.py +0 -0
  22. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/asam/types.py +0 -0
  23. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/asamkeydll.c +0 -0
  24. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/asamkeydll.sh +0 -0
  25. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/checksum.py +0 -0
  26. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cmdline.py +0 -0
  27. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/config/__init__.py +0 -0
  28. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/config/legacy.py +0 -0
  29. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/constants.py +0 -0
  30. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/__init__.py +0 -0
  31. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/bin.hpp +0 -0
  32. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/blockmem.hpp +0 -0
  33. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/daqlist.hpp +0 -0
  34. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/event.hpp +0 -0
  35. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/extension_wrapper.cpp +0 -0
  36. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/helper.hpp +0 -0
  37. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/mcobject.hpp +0 -0
  38. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/cpp_ext/tsqueue.hpp +0 -0
  39. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/__init__.py +0 -0
  40. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/optimize/__init__.py +0 -0
  41. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/optimize/binpacking.py +0 -0
  42. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/scheduler.cpp +0 -0
  43. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/scheduler.hpp +0 -0
  44. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/stim.cpp +0 -0
  45. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/stim.hpp +0 -0
  46. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/daq_stim/stim_wrapper.cpp +0 -0
  47. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/dllif.py +0 -0
  48. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/errormatrix.py +0 -0
  49. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_can.toml +0 -0
  50. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_can_user.toml +0 -0
  51. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_can_vector.json +0 -0
  52. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_can_vector.toml +0 -0
  53. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_eth.toml +0 -0
  54. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_nixnet.json +0 -0
  55. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_socket_can.toml +0 -0
  56. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_sxi.json +0 -0
  57. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/conf_sxi.toml +0 -0
  58. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/ex_arrow.py +0 -0
  59. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/ex_mdf.py +0 -0
  60. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/ex_sqlite.py +0 -0
  61. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/run_daq.py +0 -0
  62. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/xcp_policy.py +0 -0
  63. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/xcp_read_benchmark.py +0 -0
  64. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/xcp_skel.py +0 -0
  65. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/xcp_unlock.py +0 -0
  66. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/xcp_user_supplied_driver.py +0 -0
  67. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/xcphello.py +0 -0
  68. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/examples/xcphello_recorder.py +0 -0
  69. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/master/__init__.py +0 -0
  70. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/master/errorhandler.py +0 -0
  71. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/master/master.py +0 -0
  72. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/py.typed +0 -0
  73. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/__init__.py +0 -0
  74. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/build_clang.cmd +0 -0
  75. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/build_clang.sh +0 -0
  76. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/build_gcc.cmd +0 -0
  77. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/build_gcc.sh +0 -0
  78. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/build_gcc_arm.sh +0 -0
  79. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/converter/__init__.py +0 -0
  80. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/lz4.c +0 -0
  81. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/lz4.h +0 -0
  82. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/lz4hc.c +0 -0
  83. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/lz4hc.h +0 -0
  84. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/mio.hpp +0 -0
  85. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/reader.hpp +0 -0
  86. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/reco.py +0 -0
  87. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/recorder.rst +0 -0
  88. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/rekorder.cpp +0 -0
  89. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/rekorder.hpp +0 -0
  90. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/setup.py +0 -0
  91. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/test_reko.py +0 -0
  92. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/unfolder.hpp +0 -0
  93. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/wrap.cpp +0 -0
  94. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/recorder/writer.hpp +0 -0
  95. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/scripts/__init__.py +0 -0
  96. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/scripts/pyxcp_probe_can_drivers.py +0 -0
  97. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/scripts/xcp_fetch_a2l.py +0 -0
  98. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/scripts/xcp_id_scanner.py +0 -0
  99. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/scripts/xcp_info.py +0 -0
  100. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/scripts/xcp_profile.py +0 -0
  101. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/stim/__init__.py +0 -0
  102. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_asam_types.py +0 -0
  103. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_binpacking.py +0 -0
  104. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_can.py +0 -0
  105. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_checksum.py +0 -0
  106. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_daq.py +0 -0
  107. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_frame_padding.py +0 -0
  108. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_master.py +0 -0
  109. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_transport.py +0 -0
  110. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/tests/test_utils.py +0 -0
  111. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/timing.py +0 -0
  112. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/__init__.py +0 -0
  113. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/base.py +0 -0
  114. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/base_transport.hpp +0 -0
  115. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/can.py +0 -0
  116. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/eth.py +0 -0
  117. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/sxi.py +0 -0
  118. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/transport_wrapper.cpp +0 -0
  119. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/transport/usb_transport.py +0 -0
  120. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/types.py +0 -0
  121. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/utils.py +0 -0
  122. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/vector/__init__.py +0 -0
  123. {pyxcp-0.22.2 → pyxcp-0.22.4}/pyxcp/vector/map.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyxcp
3
- Version: 0.22.2
3
+ Version: 0.22.4
4
4
  Summary: Universal Calibration Protocol for Python
5
5
  Home-page: https://github.com/christoph2/pyxcp
6
6
  License: LGPLv3
@@ -42,9 +42,9 @@ def alternate_libdir(pth: str):
42
42
  def get_py_config() -> dict:
43
43
  pynd = VARS["py_version_nodot"] # Should always be present.
44
44
  include = sysconfig.get_path("include") # Seems to be cross-platform.
45
- library = f"python{pynd}.lib"
46
45
  if uname.system == "Windows":
47
46
  base = get_python_base()
47
+ library = f"python{pynd}.lib"
48
48
  libdir = Path(base) / "libs"
49
49
  if libdir.exists():
50
50
  available_libs = os.listdir(libdir)
@@ -55,9 +55,34 @@ def get_py_config() -> dict:
55
55
  else:
56
56
  libdir = alternate_libdir(include)
57
57
  else:
58
- libdir = VARS["LIBDIR"]
59
- library = VARS["LDLIBRARY"]
60
-
58
+ library = VARS["LIBRARY"]
59
+ DIR_VARS = ("LIBDIR", "BINLIBDEST", "DESTLIB", "LIBDEST", "MACHDESTLIB", "DESTSHARED", "LIBPL")
60
+ arch = None
61
+ if uname.system == "Linux":
62
+ arch = VARS.get("MULTIARCH", "")
63
+ found = False
64
+ for dir_var in DIR_VARS:
65
+ if found:
66
+ break
67
+ dir_name = VARS.get(dir_var)
68
+ if not dir_name:
69
+ continue
70
+ if uname.system == "Darwin":
71
+ full_path = [Path(dir_name) / library]
72
+ elif uname.system == "Linux":
73
+ full_path = [Path(dir_name) / arch / library, Path(dir_name) / library]
74
+ else:
75
+ print("PF?", uname.system)
76
+ for fp in full_path:
77
+ print("Trying '{fp}'")
78
+ if fp.exists():
79
+ print(f"found Python library: '{fp}'")
80
+ libdir = str(fp.parent)
81
+ found = True
82
+ break
83
+ if not found:
84
+ print("Could NOT locate Python library.")
85
+ return dict(exe=sys.executable, include=include, libdir="", library=library)
61
86
  return dict(exe=sys.executable, include=include, libdir=libdir, library=library)
62
87
 
63
88
 
@@ -79,9 +104,10 @@ def build_extension(debug: bool = False, use_temp_dir: bool = False) -> None:
79
104
  cmake_args = [
80
105
  f"-DPython3_EXECUTABLE={py_cfg['exe']}",
81
106
  f"-DPython3_INCLUDE_DIR={py_cfg['include']}",
82
- f"-DPython3_LIBRARY={str(Path(py_cfg['libdir']) / Path(py_cfg['library']))}",
83
107
  f"-DCMAKE_BUILD_TYPE={cfg}", # not used on MSVC, but no harm
84
108
  ]
109
+ if py_cfg["libdir"]:
110
+ cmake_args.append(f"-DPython3_LIBRARY={str(Path(py_cfg['libdir']) / Path(py_cfg['library']))}")
85
111
 
86
112
  build_args = ["--config Release", "--verbose"]
87
113
  # cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 /path/to/src
@@ -36,7 +36,7 @@ dynamic = ["license", "readme", "authors", "requires-python", "description", "cl
36
36
  [tool.poetry]
37
37
  authors = ["Christoph Schueler <cpu.gems@googlemail.com>"]
38
38
  name = "pyxcp"
39
- version = "0.22.2"
39
+ version = "0.22.4"
40
40
  readme = "README.md"
41
41
  description = "Universal Calibration Protocol for Python"
42
42
  keywords = ["automotive", "ecu", "xcp", "asam", "autosar"]
@@ -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.2"
20
+ __version__ = "0.22.4"
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
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