objutils 0.10.15__tar.gz → 0.10.16__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.
Files changed (275) hide show
  1. {objutils-0.10.15 → objutils-0.10.16}/.pre-commit-config.yaml +1 -1
  2. {objutils-0.10.15 → objutils-0.10.16}/PKG-INFO +1 -1
  3. {objutils-0.10.15 → objutils-0.10.16}/objutils/__init__.py +1 -1
  4. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/__init__.py +0 -1
  5. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/encoding.py +0 -2
  6. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/readers.py +0 -1
  7. {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/model.py +0 -2
  8. {objutils-0.10.15 → objutils-0.10.16}/objutils/hexfile.py +0 -6
  9. {objutils-0.10.15 → objutils-0.10.16}/objutils/image.py +24 -6
  10. {objutils-0.10.15 → objutils-0.10.16}/objutils/registry.py +0 -2
  11. {objutils-0.10.15 → objutils-0.10.16}/objutils/section.py +72 -19
  12. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_section.py +54 -0
  13. {objutils-0.10.15 → objutils-0.10.16}/objutils/version.py +1 -1
  14. {objutils-0.10.15 → objutils-0.10.16}/pyproject.toml +2 -2
  15. {objutils-0.10.15 → objutils-0.10.16}/.clang-format +0 -0
  16. {objutils-0.10.15 → objutils-0.10.16}/.codacy.yml +0 -0
  17. {objutils-0.10.15 → objutils-0.10.16}/.codeclimate.yml +0 -0
  18. {objutils-0.10.15 → objutils-0.10.16}/.coveralls.yml +0 -0
  19. {objutils-0.10.15 → objutils-0.10.16}/.github/FUNDING.yml +0 -0
  20. {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  21. {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  22. {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/documentation.yml +0 -0
  23. {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  24. {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE.md +0 -0
  25. {objutils-0.10.15 → objutils-0.10.16}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  26. {objutils-0.10.15 → objutils-0.10.16}/.github/copilot-instructions.md +0 -0
  27. {objutils-0.10.15 → objutils-0.10.16}/.github/workflows/pythonapp.yml +0 -0
  28. {objutils-0.10.15 → objutils-0.10.16}/.gitignore +0 -0
  29. {objutils-0.10.15 → objutils-0.10.16}/.idea/.gitignore +0 -0
  30. {objutils-0.10.15 → objutils-0.10.16}/.idea/copilot.data.migration.ask2agent.xml +0 -0
  31. {objutils-0.10.15 → objutils-0.10.16}/.idea/deployment.xml +0 -0
  32. {objutils-0.10.15 → objutils-0.10.16}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
  33. {objutils-0.10.15 → objutils-0.10.16}/.idea/misc.xml +0 -0
  34. {objutils-0.10.15 → objutils-0.10.16}/.idea/modules.xml +0 -0
  35. {objutils-0.10.15 → objutils-0.10.16}/.idea/pyLspTools.xml +0 -0
  36. {objutils-0.10.15 → objutils-0.10.16}/.idea/pyProjectModel.xml +0 -0
  37. {objutils-0.10.15 → objutils-0.10.16}/.idea/vcs.xml +0 -0
  38. {objutils-0.10.15 → objutils-0.10.16}/.pylintrc +0 -0
  39. {objutils-0.10.15 → objutils-0.10.16}/.readthedocs.yml +0 -0
  40. {objutils-0.10.15 → objutils-0.10.16}/.travis.yml +0 -0
  41. {objutils-0.10.15 → objutils-0.10.16}/CMakeLists.txt +0 -0
  42. {objutils-0.10.15 → objutils-0.10.16}/CODE_OF_CONDUCT.md +0 -0
  43. {objutils-0.10.15 → objutils-0.10.16}/CONTRIBUTORS +0 -0
  44. {objutils-0.10.15 → objutils-0.10.16}/LICENSE +0 -0
  45. {objutils-0.10.15 → objutils-0.10.16}/MANIFEST.in +0 -0
  46. {objutils-0.10.15 → objutils-0.10.16}/PULL_REQUEST_TEMPLATE.md +0 -0
  47. {objutils-0.10.15 → objutils-0.10.16}/appveyor.yml +0 -0
  48. {objutils-0.10.15 → objutils-0.10.16}/bandit.yml +0 -0
  49. {objutils-0.10.15 → objutils-0.10.16}/docs/Data_Formats.pdf +0 -0
  50. {objutils-0.10.15 → objutils-0.10.16}/docs/ELF_Format.pdf +0 -0
  51. {objutils-0.10.15 → objutils-0.10.16}/docs/KNOWN_GOOD_DWARF_REFERENCE.md +0 -0
  52. {objutils-0.10.15 → objutils-0.10.16}/docs/README.rst +0 -0
  53. {objutils-0.10.15 → objutils-0.10.16}/docs/apidoc.sh +0 -0
  54. {objutils-0.10.15 → objutils-0.10.16}/docs/conf.py +0 -0
  55. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.buildinfo +0 -0
  56. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.buildinfo.bak +0 -0
  57. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/README.doctree +0 -0
  58. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/environment.pickle +0 -0
  59. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/howto.doctree +0 -0
  60. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/index.doctree +0 -0
  61. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/installation.doctree +0 -0
  62. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/modules.doctree +0 -0
  63. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/objutils.doctree +0 -0
  64. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/objutils.elf.doctree +0 -0
  65. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/scripts.doctree +0 -0
  66. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/session.doctree +0 -0
  67. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/tutorial.doctree +0 -0
  68. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/README.html +0 -0
  69. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_images/objutils_basic.png +0 -0
  70. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/index.html +0 -0
  71. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/ash.html +0 -0
  72. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/binfile.html +0 -0
  73. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/checksums.html +0 -0
  74. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/cosmac.html +0 -0
  75. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/elf/defs.html +0 -0
  76. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/elf.html +0 -0
  77. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/emon52.html +0 -0
  78. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/etek.html +0 -0
  79. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/exceptions.html +0 -0
  80. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/fpc.html +0 -0
  81. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/hexdump.html +0 -0
  82. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/hexfile.html +0 -0
  83. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/ihex.html +0 -0
  84. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/image.html +0 -0
  85. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/logger.html +0 -0
  86. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/mostec.html +0 -0
  87. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/pickleif.html +0 -0
  88. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/rca.html +0 -0
  89. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/readers.html +0 -0
  90. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/registry.html +0 -0
  91. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/section.html +0 -0
  92. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/sig.html +0 -0
  93. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/srec.html +0 -0
  94. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/tek.html +0 -0
  95. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/titxt.html +0 -0
  96. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/utils.html +0 -0
  97. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils.html +0 -0
  98. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/README.rst.txt +0 -0
  99. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/howto.rst.txt +0 -0
  100. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/index.rst.txt +0 -0
  101. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/installation.rst.txt +0 -0
  102. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/modules.rst.txt +0 -0
  103. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/objutils.elf.rst.txt +0 -0
  104. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/objutils.rst.txt +0 -0
  105. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/scripts.rst.txt +0 -0
  106. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/session.rst.txt +0 -0
  107. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/tutorial.rst.txt +0 -0
  108. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/alabaster.css +0 -0
  109. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/basic.css +0 -0
  110. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/check-solid.svg +0 -0
  111. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/clipboard.min.js +0 -0
  112. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copy-button.svg +0 -0
  113. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copybutton.css +0 -0
  114. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copybutton.js +0 -0
  115. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copybutton_funcs.js +0 -0
  116. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/custom.css +0 -0
  117. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/doctools.js +0 -0
  118. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/documentation_options.js +0 -0
  119. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/file.png +0 -0
  120. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/github-banner.svg +0 -0
  121. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/language_data.js +0 -0
  122. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/minus.png +0 -0
  123. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/plus.png +0 -0
  124. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/pygments.css +0 -0
  125. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/bootstrap.js +0 -0
  126. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
  127. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/fontawesome.js +0 -0
  128. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/fontawesome.js.LICENSE.txt +0 -0
  129. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/pydata-sphinx-theme.js +0 -0
  130. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/searchtools.js +0 -0
  131. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/sphinx_highlight.js +0 -0
  132. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/styles/pydata-sphinx-theme.css +0 -0
  133. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/styles/theme.css +0 -0
  134. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  135. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  136. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  137. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  138. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  139. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  140. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/webpack-macros.html +0 -0
  141. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/genindex.html +0 -0
  142. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/howto.html +0 -0
  143. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/index.html +0 -0
  144. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/installation.html +0 -0
  145. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/modules.html +0 -0
  146. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/objects.inv +0 -0
  147. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/objutils.elf.html +0 -0
  148. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/objutils.html +0 -0
  149. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/py-modindex.html +0 -0
  150. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/scripts.html +0 -0
  151. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/search.html +0 -0
  152. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/searchindex.js +0 -0
  153. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/session.html +0 -0
  154. {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/tutorial.html +0 -0
  155. {objutils-0.10.15 → objutils-0.10.16}/docs/elf-64-gen.pdf +0 -0
  156. {objutils-0.10.15 → objutils-0.10.16}/docs/example0.srec +0 -0
  157. {objutils-0.10.15 → objutils-0.10.16}/docs/howto.rst +0 -0
  158. {objutils-0.10.15 → objutils-0.10.16}/docs/index.rst +0 -0
  159. {objutils-0.10.15 → objutils-0.10.16}/docs/installation.rst +0 -0
  160. {objutils-0.10.15 → objutils-0.10.16}/docs/make.bat +0 -0
  161. {objutils-0.10.15 → objutils-0.10.16}/docs/modules.rst +0 -0
  162. {objutils-0.10.15 → objutils-0.10.16}/docs/objutils.elf.rst +0 -0
  163. {objutils-0.10.15 → objutils-0.10.16}/docs/objutils.rst +0 -0
  164. {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_banner.png +0 -0
  165. {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_basic.png +0 -0
  166. {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_dark.jpg +0 -0
  167. {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_social.jpg +0 -0
  168. {objutils-0.10.15 → objutils-0.10.16}/docs/requirements.txt +0 -0
  169. {objutils-0.10.15 → objutils-0.10.16}/docs/scripts.rst +0 -0
  170. {objutils-0.10.15 → objutils-0.10.16}/docs/session.rst +0 -0
  171. {objutils-0.10.15 → objutils-0.10.16}/docs/tutorial.rst +0 -0
  172. {objutils-0.10.15 → objutils-0.10.16}/docs/tutorial1.ipynb +0 -0
  173. {objutils-0.10.15 → objutils-0.10.16}/objutils/.coveragerc +0 -0
  174. {objutils-0.10.15 → objutils-0.10.16}/objutils/.vscode/launch.json +0 -0
  175. {objutils-0.10.15 → objutils-0.10.16}/objutils/.vscode/settings.json +0 -0
  176. {objutils-0.10.15 → objutils-0.10.16}/objutils/a2l_test.shf +0 -0
  177. {objutils-0.10.15 → objutils-0.10.16}/objutils/ash.py +0 -0
  178. {objutils-0.10.15 → objutils-0.10.16}/objutils/binfile.py +0 -0
  179. {objutils-0.10.15 → objutils-0.10.16}/objutils/checksums.py +0 -0
  180. {objutils-0.10.15 → objutils-0.10.16}/objutils/cosmac.py +0 -0
  181. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/attrparser.py +0 -0
  182. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/c_generator.py +0 -0
  183. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/constants.py +0 -0
  184. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/lineprog.py +0 -0
  185. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/sm.py +0 -0
  186. {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/traverser.py +0 -0
  187. {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/__init__.py +0 -0
  188. {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/arm/__init__.py +0 -0
  189. {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/arm/attributes.py +0 -0
  190. {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/defs.py +0 -0
  191. {objutils-0.10.15 → objutils-0.10.16}/objutils/emon52.py +0 -0
  192. {objutils-0.10.15 → objutils-0.10.16}/objutils/etek.py +0 -0
  193. {objutils-0.10.15 → objutils-0.10.16}/objutils/exceptions.py +0 -0
  194. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/__init__.py +0 -0
  195. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/ctre.hpp +0 -0
  196. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/difflib.h +0 -0
  197. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/elf_parser.cpp +0 -0
  198. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/elf_parser.hpp +0 -0
  199. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/exceptions.cpp +0 -0
  200. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/exceptions.hpp +0 -0
  201. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/hexfile.cpp +0 -0
  202. {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/wrapper.cpp +0 -0
  203. {objutils-0.10.15 → objutils-0.10.16}/objutils/fpc.py +0 -0
  204. {objutils-0.10.15 → objutils-0.10.16}/objutils/hexdump.py +0 -0
  205. {objutils-0.10.15 → objutils-0.10.16}/objutils/ieee695.py +0 -0
  206. {objutils-0.10.15 → objutils-0.10.16}/objutils/ihex.py +0 -0
  207. {objutils-0.10.15 → objutils-0.10.16}/objutils/logger.py +0 -0
  208. {objutils-0.10.15 → objutils-0.10.16}/objutils/mostec.py +0 -0
  209. {objutils-0.10.15 → objutils-0.10.16}/objutils/objutils.code-workspace +0 -0
  210. {objutils-0.10.15 → objutils-0.10.16}/objutils/oocdtxt.py +0 -0
  211. {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/__init__.py +0 -0
  212. {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/defs.py +0 -0
  213. {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/model.py +0 -0
  214. {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/pdb/__init__.py +0 -0
  215. {objutils-0.10.15 → objutils-0.10.16}/objutils/pickleif.py +0 -0
  216. {objutils-0.10.15 → objutils-0.10.16}/objutils/rca.py +0 -0
  217. {objutils-0.10.15 → objutils-0.10.16}/objutils/readers.py +0 -0
  218. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/arduino_build_artifacts.py +0 -0
  219. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_cgen.py +0 -0
  220. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_extract.py +0 -0
  221. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_import.py +0 -0
  222. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_info.py +0 -0
  223. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_syms.py +0 -0
  224. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_dwarf_import.py +0 -0
  225. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_dwarf_info.py +0 -0
  226. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_arm_attrs.py +0 -0
  227. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_extract.py +0 -0
  228. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_import.py +0 -0
  229. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_info.py +0 -0
  230. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_syms.py +0 -0
  231. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_hex_info.py +0 -0
  232. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_hex_merge.py +0 -0
  233. {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_hex_split.py +0 -0
  234. {objutils-0.10.15 → objutils-0.10.16}/objutils/shf.py +0 -0
  235. {objutils-0.10.15 → objutils-0.10.16}/objutils/sig.py +0 -0
  236. {objutils-0.10.15 → objutils-0.10.16}/objutils/srec.py +0 -0
  237. {objutils-0.10.15 → objutils-0.10.16}/objutils/symbols.py +0 -0
  238. {objutils-0.10.15 → objutils-0.10.16}/objutils/tek.py +0 -0
  239. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/__init__.py +0 -0
  240. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_arm_attributes.py +0 -0
  241. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_ash.py +0 -0
  242. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_c_generator.py +0 -0
  243. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_checksums.py +0 -0
  244. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_cygpath.py +0 -0
  245. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_diff_bin.py +0 -0
  246. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_elf.py +0 -0
  247. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_emon52.py +0 -0
  248. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_etek.py +0 -0
  249. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_examples_cgen.py +0 -0
  250. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_fpc.py +0 -0
  251. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_hexdump.py +0 -0
  252. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_hexfile.py +0 -0
  253. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_ihex.py +0 -0
  254. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_image.py +0 -0
  255. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_mostec.py +0 -0
  256. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_oocdtxt.py +0 -0
  257. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_readers.py +0 -0
  258. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_registry.py +0 -0
  259. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_repr.py +0 -0
  260. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_section_join.py +0 -0
  261. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_shf.py +0 -0
  262. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_sm.py +0 -0
  263. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_srec.py +0 -0
  264. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_tek.py +0 -0
  265. {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_titext.py +0 -0
  266. {objutils-0.10.15 → objutils-0.10.16}/objutils/titxt.py +0 -0
  267. {objutils-0.10.15 → objutils-0.10.16}/objutils/utils/__init__.py +0 -0
  268. {objutils-0.10.15 → objutils-0.10.16}/objutils/utils/arduino.py +0 -0
  269. {objutils-0.10.15 → objutils-0.10.16}/objutils/utils/diff.py +0 -0
  270. {objutils-0.10.15 → objutils-0.10.16}/poetry.lock +0 -0
  271. {objutils-0.10.15 → objutils-0.10.16}/requirements.txt +0 -0
  272. {objutils-0.10.15 → objutils-0.10.16}/setup.cfg +0 -0
  273. {objutils-0.10.15 → objutils-0.10.16}/setup.py +0 -0
  274. {objutils-0.10.15 → objutils-0.10.16}/test_join_sections.py +0 -0
  275. {objutils-0.10.15 → objutils-0.10.16}/test_requirements.txt +0 -0
@@ -42,7 +42,7 @@ repos:
42
42
  args: ["--line-length=132"]
43
43
 
44
44
  - repo: https://github.com/astral-sh/ruff-pre-commit
45
- rev: v0.16.0
45
+ rev: v0.16.1
46
46
  hooks:
47
47
  - id: ruff
48
48
  args: ["--fix", "--exit-non-zero-on-fix"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: objutils
3
- Version: 0.10.15
3
+ Version: 0.10.16
4
4
  Summary: Objectfile library for Python
5
5
  Keywords: hex files,intel hex,s19,srec,srecords,object files,map files,embedded,microcontroller,ECU,shf,rfc4194
6
6
  Author-Email: Christoph Schueler <cpu12.gems@googlemail.com>
@@ -13,7 +13,7 @@ Registers CODECS and implements an interface to them.
13
13
  The first parameter is always the codec name.
14
14
  """
15
15
 
16
- __version__ = "0.10.15"
16
+ __version__ = "0.10.16"
17
17
 
18
18
  __all__ = [
19
19
  "Image",
@@ -300,7 +300,6 @@ class Readers:
300
300
  """
301
301
 
302
302
 
303
-
304
303
  @dataclass
305
304
  class DIEAttribute:
306
305
  """Parsed DIE attribute with value.
@@ -64,12 +64,10 @@ class ULEBError(ConstructError):
64
64
  """Raised when ULEB128 parsing or building encounters an error."""
65
65
 
66
66
 
67
-
68
67
  class SLEBError(ConstructError):
69
68
  """Raised when SLEB128 parsing or building encounters an error."""
70
69
 
71
70
 
72
-
73
71
  @singleton
74
72
  class ULEB(Construct):
75
73
  """Unsigned LEB128 (Little-Endian Base-128) Variable-Length Integer.
@@ -69,7 +69,6 @@ class Readers:
69
69
  """
70
70
 
71
71
 
72
-
73
72
  class DwarfReaders:
74
73
  """High-Level DWARF Data Reader Interface.
75
74
 
@@ -1183,7 +1183,6 @@ class DebugInformation(Base, RidMixIn):
1183
1183
  """
1184
1184
 
1185
1185
 
1186
-
1187
1186
  class CompilationUnit(Base, RidMixIn):
1188
1187
  __tablename__ = "compilationunit"
1189
1188
  """ORM model for DWARF Compilation Unit (CU).
@@ -1193,7 +1192,6 @@ class CompilationUnit(Base, RidMixIn):
1193
1192
  """
1194
1193
 
1195
1194
 
1196
-
1197
1195
  def calculateCacheSize(value: int) -> int:
1198
1196
  """Convert cache size in bytes to SQLite PRAGMA format.
1199
1197
 
@@ -335,32 +335,26 @@ class HexFileError(Exception):
335
335
  """Base exception for all hex file operations."""
336
336
 
337
337
 
338
-
339
338
  class ParseError(HexFileError):
340
339
  """Base for parsing-related errors."""
341
340
 
342
341
 
343
-
344
342
  class InvalidRecordTypeError(ParseError):
345
343
  """Raised when record type is not recognized."""
346
344
 
347
345
 
348
-
349
346
  class InvalidRecordLengthError(ParseError):
350
347
  """Raised when record length doesn't match data."""
351
348
 
352
349
 
353
-
354
350
  class InvalidRecordChecksumError(ParseError):
355
351
  """Raised when checksum validation fails."""
356
352
 
357
353
 
358
-
359
354
  class AddressRangeToLargeError(HexFileError):
360
355
  """Raised when address exceeds format capabilities."""
361
356
 
362
357
 
363
-
364
358
  # Deprecated alias for backward compatibility
365
359
  Invalidrecord_typeError = InvalidRecordTypeError
366
360
 
@@ -689,13 +689,31 @@ class Image:
689
689
  """Write a numeric ASAM datatype with ECU byte order semantics."""
690
690
  self._call_address_function("write_asam_numeric", addr, value, dtype, byte_order, **kws)
691
691
 
692
- def read_asam_string(self, addr: int, dtype: str, length: int = -1, **kws: Any) -> str:
693
- """Read an ASAM string datatype (ASCII/UTF8/UTF16/UTF32)."""
694
- return self._call_address_function("read_asam_string", addr, dtype, length, **kws)
692
+ def read_asam_string(self, addr: int, dtype: str, length: int = -1, encoding: str | None = None, **kws: Any) -> str:
693
+ """Read an ASAM string datatype (ASCII/UTF8/UTF16/UTF32).
695
694
 
696
- def write_asam_string(self, addr: int, value: str, dtype: str, **kws: Any) -> None:
697
- """Write an ASAM string datatype (ASCII/UTF8/UTF16/UTF32)."""
698
- self._call_address_function("write_asam_string", addr, value, dtype, **kws)
695
+ Args:
696
+ addr: Absolute memory address to read from.
697
+ dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
698
+ length: Number of bytes, or ``-1`` for null-terminated (default: -1).
699
+ encoding: Optional Python codec name overriding the encoding implied by *dtype*
700
+ (e.g. ``"latin-1"``, ``"cp1252"``). Useful when raw bytes cannot be decoded
701
+ with the standard ASAM mapping.
702
+ """
703
+ return self._call_address_function("read_asam_string", addr, dtype, length, encoding=encoding, **kws)
704
+
705
+ def write_asam_string(self, addr: int, value: str, dtype: str, encoding: str | None = None, **kws: Any) -> None:
706
+ """Write an ASAM string datatype (ASCII/UTF8/UTF16/UTF32).
707
+
708
+ Args:
709
+ addr: Absolute memory address to write to.
710
+ value: String to write.
711
+ dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
712
+ encoding: Optional Python codec name overriding the encoding implied by *dtype*
713
+ (e.g. ``"latin-1"``, ``"cp1252"``). Useful when the string contains
714
+ characters outside the standard ASAM mapping.
715
+ """
716
+ self._call_address_function("write_asam_string", addr, value, dtype, encoding=encoding, **kws)
699
717
 
700
718
  def read_asam_numeric_array(
701
719
  self,
@@ -211,7 +211,6 @@ class CodecDoesNotExistError(Exception):
211
211
  """
212
212
 
213
213
 
214
-
215
214
  class CodecAlreadyExistError(Exception):
216
215
  """Raised when attempting to register a format that already exists.
217
216
 
@@ -230,7 +229,6 @@ class CodecAlreadyExistError(Exception):
230
229
  """
231
230
 
232
231
 
233
-
234
232
  class Codec(NamedTuple):
235
233
  """Container for format reader, writer, and metadata.
236
234
 
@@ -917,35 +917,89 @@ class Section:
917
917
  permuted = self._permute_asam_buffer(packed, internal_dtype, asam_byte_order)
918
918
  self.write(addr, permuted, **kws)
919
919
 
920
- def read_asam_string(self, addr: int, dtype: str, length: int = -1, **kws) -> str:
921
- encoding = ASAM_STRING_ENCODINGS.get(dtype.strip().upper())
922
- if encoding is None:
923
- raise TypeError(f"Unsupported ASAM string datatype {dtype!r}")
924
- if length == -1 and encoding in ("utf-8", "utf-16", "utf-32"):
920
+ def read_asam_string(self, addr: int, dtype: str, length: int = -1, encoding: str | None = None, **kws) -> str:
921
+ """Read an ASAM string from the section.
922
+
923
+ Args:
924
+ addr: Absolute memory address to read from.
925
+ dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
926
+ length: Number of bytes to read, or ``-1`` for null-terminated (default: -1).
927
+ encoding: Optional Python codec name that overrides the encoding implied by
928
+ *dtype* (e.g. ``"latin-1"``, ``"cp1252"``). Use this when the raw bytes
929
+ cannot be decoded with the standard ASAM mapping – for example when an
930
+ embedded ECU stores a nominally-ASCII string with non-ASCII characters
931
+ such as ``b'\\xdc'`` (``Ü`` in Latin-1). When *None* (default), the
932
+ encoding is derived from *dtype* as usual.
933
+
934
+ Returns:
935
+ Decoded string (without null terminator).
936
+
937
+ Raises:
938
+ InvalidAddressError: If address is out of bounds.
939
+ TypeError: If *dtype* is not a supported ASAM string type and no explicit
940
+ *encoding* is given, or if the string is not null-terminated.
941
+
942
+ Example::
943
+
944
+ raw = b'#MSV90-N52T\\xdc-B25-OL-F010-ULEV2-HGAG-LL-K'
945
+ sec = Section(0x1000, bytearray(raw) + b'\\x00')
946
+ # dtype="ASCII" alone would fail – override with latin-1:
947
+ text = sec.read_asam_string(0x1000, "ASCII", encoding="latin-1")
948
+ # text == '#MSV90-N52TÜ-B25-OL-F010-ULEV2-HGAG-LL-K'
949
+ """
950
+ if encoding is not None:
951
+ actual_encoding = encoding
952
+ else:
953
+ actual_encoding = ASAM_STRING_ENCODINGS.get(dtype.strip().upper())
954
+ if actual_encoding is None:
955
+ raise TypeError(f"Unsupported ASAM string datatype {dtype!r}")
956
+ if length == -1:
925
957
  offset = addr - self.start_address
926
958
  if offset < 0:
927
959
  raise InvalidAddressError(f"read_asam_string(0x{addr:08x}) access out of bounds.")
928
960
  tail = self.data[offset:]
929
- terminator = "\x00".encode(encoding=encoding)
961
+ terminator = "\x00".encode(encoding=actual_encoding)
930
962
  pos = tail.find(terminator)
931
963
  if pos != -1:
932
- return tail[:pos].decode(encoding=encoding)
964
+ return tail[:pos].decode(encoding=actual_encoding)
933
965
  raise TypeError("Unterminated String!!!")
934
- return self.read_string(addr, encoding=encoding, length=length, **kws)
935
-
936
- def write_asam_string(self, addr: int, value: str, dtype: str, **kws) -> None:
937
- encoding = ASAM_STRING_ENCODINGS.get(dtype.strip().upper())
938
- if encoding is None:
939
- raise TypeError(f"Unsupported ASAM string datatype {dtype!r}")
940
- if encoding == "ascii":
941
- self.write_string(addr, value, encoding=encoding, **kws)
942
- return
966
+ return self.read_string(addr, encoding=actual_encoding, length=length, **kws)
967
+
968
+ def write_asam_string(self, addr: int, value: str, dtype: str, encoding: str | None = None, **kws) -> None:
969
+ """Write an ASAM string to the section with a null terminator.
970
+
971
+ Args:
972
+ addr: Absolute memory address to write to.
973
+ value: String to write.
974
+ dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
975
+ encoding: Optional Python codec name that overrides the encoding implied by
976
+ *dtype* (e.g. ``"latin-1"``, ``"cp1252"``). Use this when the string
977
+ contains characters outside the standard ASAM mapping – for example
978
+ ``Ü`` (``\\xdc`` in Latin-1) in a nominally-ASCII field. When *None*
979
+ (default), the encoding is derived from *dtype* as usual.
980
+
981
+ Raises:
982
+ InvalidAddressError: If address is out of bounds or write would exceed section.
983
+ TypeError: If *dtype* is not a supported ASAM string type and no explicit
984
+ *encoding* is given.
985
+
986
+ Example::
943
987
 
988
+ sec = Section(0x1000, bytearray(64))
989
+ text = '#MSV90-N52TÜ-B25-OL-F010-ULEV2-HGAG-LL-K'
990
+ sec.write_asam_string(0x1000, text, "ASCII", encoding="latin-1")
991
+ """
992
+ if encoding is not None:
993
+ actual_encoding = encoding
994
+ else:
995
+ actual_encoding = ASAM_STRING_ENCODINGS.get(dtype.strip().upper())
996
+ if actual_encoding is None:
997
+ raise TypeError(f"Unsupported ASAM string datatype {dtype!r}")
944
998
  offset = addr - self.start_address
945
999
  if offset < 0:
946
1000
  raise InvalidAddressError(f"write_asam_string(0x{addr:08x}) access out of bounds.")
947
- encoded = value.encode(encoding=encoding)
948
- terminator = "\x00".encode(encoding=encoding)
1001
+ encoded = value.encode(encoding=actual_encoding)
1002
+ terminator = "\x00".encode(encoding=actual_encoding)
949
1003
  total_length = len(encoded) + len(terminator)
950
1004
  if offset + total_length > self.length:
951
1005
  raise InvalidAddressError(f"write_asam_string(0x{addr:08x}) access out of bounds.")
@@ -1330,7 +1384,6 @@ def join_sections(sections: list[Section]) -> list[Section]:
1330
1384
  sorted_sections = sorted(sections, key=attrgetter("start_address"))
1331
1385
 
1332
1386
  for section in sorted_sections:
1333
-
1334
1387
  if not result_sections:
1335
1388
  result_sections.append(Section(section.start_address, section.data))
1336
1389
  continue
@@ -1051,3 +1051,57 @@ def test_cross_numeric_array_to_ndarray_column_dir_3d():
1051
1051
  result = sec.read_asam_ndarray(0, 12, "UBYTE", shape=(3, 2, 2), index_mode="COLUMN_DIR", byte_order="MSB_LAST")
1052
1052
  assert result.shape == (2, 2, 3)
1053
1053
  assert np.array_equal(result, expected)
1054
+
1055
+
1056
+ # ---------------------------------------------------------------------------
1057
+ # ASAM string with custom encoding override
1058
+ # ---------------------------------------------------------------------------
1059
+
1060
+ # Raw bytes from a real ECU that contain \xdc (Ü in Latin-1) but are stored
1061
+ # in a field declared as "ASCII". Neither "ascii" nor "utf-8" can decode them.
1062
+ _LATIN1_RAW = b"#MSV90-N52T\xdc-B25-OL-F010-ULEV2-HGAG-LL-K"
1063
+ _LATIN1_STR = _LATIN1_RAW.decode("latin-1") # '#MSV90-N52TÜ-B25-OL-F010-ULEV2-HGAG-LL-K'
1064
+
1065
+
1066
+ def test_read_asam_string_custom_encoding_latin1():
1067
+ """read_asam_string with encoding='latin-1' decodes bytes that would fail as ASCII."""
1068
+ data = bytearray(_LATIN1_RAW) + b"\x00"
1069
+ sec = Section(start_address=0x1000, data=data)
1070
+ result = sec.read_asam_string(0x1000, "ASCII", encoding="latin-1")
1071
+ assert result == _LATIN1_STR
1072
+
1073
+
1074
+ def test_write_asam_string_custom_encoding_latin1():
1075
+ """write_asam_string with encoding='latin-1' round-trips a string containing non-ASCII."""
1076
+ sec = Section(start_address=0x1000, data=bytearray(64))
1077
+ sec.write_asam_string(0x1000, _LATIN1_STR, "ASCII", encoding="latin-1")
1078
+ raw = bytes(sec.data[: len(_LATIN1_RAW)])
1079
+ assert raw == _LATIN1_RAW
1080
+ # null terminator must follow immediately
1081
+ assert sec.data[len(_LATIN1_RAW)] == 0
1082
+
1083
+
1084
+ def test_asam_string_encoding_roundtrip_latin1():
1085
+ """Full write→read round-trip for a Latin-1 encoded ASAM ASCII string."""
1086
+ sec = Section(start_address=0x2000, data=bytearray(64))
1087
+ sec.write_asam_string(0x2000, _LATIN1_STR, "ASCII", encoding="latin-1")
1088
+ result = sec.read_asam_string(0x2000, "ASCII", encoding="latin-1")
1089
+ assert result == _LATIN1_STR
1090
+
1091
+
1092
+ def test_read_asam_string_ascii_still_works():
1093
+ """Existing ASCII behaviour (no custom encoding) is not broken."""
1094
+ text = "MOTOR"
1095
+ data = bytearray(text, "ascii") + b"\x00"
1096
+ sec = Section(start_address=0, data=bytearray(data) + bytearray(16))
1097
+ result = sec.read_asam_string(0, "ASCII")
1098
+ assert result == text
1099
+
1100
+
1101
+ def test_write_asam_string_utf8_still_works():
1102
+ """Existing UTF8 behaviour (no custom encoding) is not broken."""
1103
+ text = "Drehzahl"
1104
+ sec = Section(start_address=0, data=bytearray(64))
1105
+ sec.write_asam_string(0, text, "UTF8")
1106
+ result = sec.read_asam_string(0, "UTF8")
1107
+ assert result == text
@@ -1,3 +1,3 @@
1
1
  """objutils version module"""
2
2
 
3
- __version__ = "0.10.15"
3
+ __version__ = "0.10.16"
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "objutils"
7
- version = "0.10.15"
7
+ version = "0.10.16"
8
8
  description = "Objectfile library for Python"
9
9
  authors = [
10
10
  {name = "Christoph Schueler", email = "cpu12.gems@googlemail.com"}
@@ -126,7 +126,7 @@ skip = ["*_i686", "*-musllinux*"]
126
126
  build-frontend = "build"
127
127
 
128
128
  [tool.bumpver]
129
- current_version = "0.10.15"
129
+ current_version = "0.10.16"
130
130
  version_pattern = "MAJOR.MINOR.PATCH"
131
131
  commit_message = "bump version {old_version} -> {new_version}"
132
132
  commit = true
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