pye57 0.4.15__tar.gz → 0.4.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.

Potentially problematic release.


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

Files changed (169) hide show
  1. {pye57-0.4.15/src/pye57.egg-info → pye57-0.4.16}/PKG-INFO +2 -3
  2. {pye57-0.4.15 → pye57-0.4.16}/setup.py +3 -2
  3. pye57-0.4.16/src/pye57/__version__.py +1 -0
  4. {pye57-0.4.15 → pye57-0.4.16}/src/pye57/e57.py +2 -2
  5. {pye57-0.4.15 → pye57-0.4.16}/src/pye57/libe57_wrapper.cpp +10 -5
  6. {pye57-0.4.15 → pye57-0.4.16/src/pye57.egg-info}/PKG-INFO +2 -3
  7. {pye57-0.4.15 → pye57-0.4.16}/tests/test_main.py +21 -0
  8. pye57-0.4.15/src/pye57/__version__.py +0 -1
  9. {pye57-0.4.15 → pye57-0.4.16}/LICENSE +0 -0
  10. {pye57-0.4.15 → pye57-0.4.16}/MANIFEST.in +0 -0
  11. {pye57-0.4.15 → pye57-0.4.16}/README.md +0 -0
  12. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/LICENSE-MIT.md +0 -0
  13. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/LICENSE.md +0 -0
  14. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/README.md +0 -0
  15. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/extern/CRCpp/LICENSE +0 -0
  16. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/extern/CRCpp/README.md +0 -0
  17. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/extern/CRCpp/inc/CRC.h +0 -0
  18. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/include/E57Exception.h +0 -0
  19. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/include/E57Format.h +0 -0
  20. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/include/E57SimpleData.h +0 -0
  21. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/include/E57SimpleReader.h +0 -0
  22. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/include/E57SimpleWriter.h +0 -0
  23. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/include/E57Version.h +0 -0
  24. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ASTMVersion.h +0 -0
  25. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/BlobNode.cpp +0 -0
  26. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/BlobNodeImpl.cpp +0 -0
  27. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/BlobNodeImpl.h +0 -0
  28. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CheckedFile.cpp +0 -0
  29. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CheckedFile.h +0 -0
  30. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Common.cpp +0 -0
  31. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Common.h +0 -0
  32. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorNode.cpp +0 -0
  33. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorNodeImpl.cpp +0 -0
  34. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorNodeImpl.h +0 -0
  35. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorReader.cpp +0 -0
  36. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorReaderImpl.cpp +0 -0
  37. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorReaderImpl.h +0 -0
  38. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorWriter.cpp +0 -0
  39. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorWriterImpl.cpp +0 -0
  40. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/CompressedVectorWriterImpl.h +0 -0
  41. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/DecodeChannel.cpp +0 -0
  42. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/DecodeChannel.h +0 -0
  43. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Decoder.cpp +0 -0
  44. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Decoder.h +0 -0
  45. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/E57Exception.cpp +0 -0
  46. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/E57SimpleData.cpp +0 -0
  47. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/E57SimpleReader.cpp +0 -0
  48. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/E57SimpleWriter.cpp +0 -0
  49. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/E57Version.cpp +0 -0
  50. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/E57XmlParser.cpp +0 -0
  51. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/E57XmlParser.h +0 -0
  52. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Encoder.cpp +0 -0
  53. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Encoder.h +0 -0
  54. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/FloatNode.cpp +0 -0
  55. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/FloatNodeImpl.cpp +0 -0
  56. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/FloatNodeImpl.h +0 -0
  57. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ImageFile.cpp +0 -0
  58. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ImageFileImpl.cpp +0 -0
  59. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ImageFileImpl.h +0 -0
  60. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/IntegerNode.cpp +0 -0
  61. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/IntegerNodeImpl.cpp +0 -0
  62. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/IntegerNodeImpl.h +0 -0
  63. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Node.cpp +0 -0
  64. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/NodeImpl.cpp +0 -0
  65. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/NodeImpl.h +0 -0
  66. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Packet.cpp +0 -0
  67. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/Packet.h +0 -0
  68. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ReaderImpl.cpp +0 -0
  69. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ReaderImpl.h +0 -0
  70. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ScaledIntegerNode.cpp +0 -0
  71. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ScaledIntegerNodeImpl.cpp +0 -0
  72. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/ScaledIntegerNodeImpl.h +0 -0
  73. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/SectionHeaders.cpp +0 -0
  74. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/SectionHeaders.h +0 -0
  75. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/SourceDestBuffer.cpp +0 -0
  76. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/SourceDestBufferImpl.cpp +0 -0
  77. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/SourceDestBufferImpl.h +0 -0
  78. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StringFunctions.cpp +0 -0
  79. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StringFunctions.h +0 -0
  80. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StringNode.cpp +0 -0
  81. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StringNodeImpl.cpp +0 -0
  82. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StringNodeImpl.h +0 -0
  83. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StructureNode.cpp +0 -0
  84. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StructureNodeImpl.cpp +0 -0
  85. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/StructureNodeImpl.h +0 -0
  86. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/VectorNode.cpp +0 -0
  87. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/VectorNodeImpl.cpp +0 -0
  88. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/VectorNodeImpl.h +0 -0
  89. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/WriterImpl.cpp +0 -0
  90. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/src/WriterImpl.h +0 -0
  91. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/README.md +0 -0
  92. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/LICENSE +0 -0
  93. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/README.md +0 -0
  94. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/README.md +0 -0
  95. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/docs/README.md +0 -0
  96. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-actions.h +0 -0
  97. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-cardinalities.h +0 -0
  98. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-function-mocker.h +0 -0
  99. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-matchers.h +0 -0
  100. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-more-actions.h +0 -0
  101. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-more-matchers.h +0 -0
  102. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-nice-strict.h +0 -0
  103. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-spec-builders.h +0 -0
  104. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock.h +0 -0
  105. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/README.md +0 -0
  106. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +0 -0
  107. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +0 -0
  108. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +0 -0
  109. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +0 -0
  110. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/gmock-port.h +0 -0
  111. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/gmock-pp.h +0 -0
  112. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/test/gmock-matchers_test.h +0 -0
  113. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googlemock/test/gmock_link_test.h +0 -0
  114. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/README.md +0 -0
  115. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/docs/README.md +0 -0
  116. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-assertion-result.h +0 -0
  117. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-death-test.h +0 -0
  118. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-matchers.h +0 -0
  119. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-message.h +0 -0
  120. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-param-test.h +0 -0
  121. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-printers.h +0 -0
  122. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-spi.h +0 -0
  123. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-test-part.h +0 -0
  124. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-typed-test.h +0 -0
  125. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest.h +0 -0
  126. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest_pred_impl.h +0 -0
  127. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest_prod.h +0 -0
  128. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/README.md +0 -0
  129. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/gtest-port.h +0 -0
  130. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +0 -0
  131. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/gtest.h +0 -0
  132. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -0
  133. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-filepath.h +0 -0
  134. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-internal.h +0 -0
  135. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-param-util.h +0 -0
  136. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-port-arch.h +0 -0
  137. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-port.h +0 -0
  138. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-string.h +0 -0
  139. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-type-util.h +0 -0
  140. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/samples/prime_tables.h +0 -0
  141. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/samples/sample1.h +0 -0
  142. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/samples/sample2.h +0 -0
  143. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/samples/sample3-inl.h +0 -0
  144. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/samples/sample4.h +0 -0
  145. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/src/gtest-internal-inl.h +0 -0
  146. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/test/googletest-param-test-test.h +0 -0
  147. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/test/gtest-typed-test_test.h +0 -0
  148. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/extern/googletest/googletest/test/production.h +0 -0
  149. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/include/Helpers.h +0 -0
  150. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/include/RandomNum.h +0 -0
  151. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/include/TestData.h +0 -0
  152. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/src/RandomNum.cpp +0 -0
  153. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/src/TestData.cpp +0 -0
  154. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/src/main.cpp +0 -0
  155. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/src/test_SimpleData.cpp +0 -0
  156. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/src/test_SimpleReader.cpp +0 -0
  157. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/src/test_SimpleWriter.cpp +0 -0
  158. {pye57-0.4.15 → pye57-0.4.16}/libE57Format/test/src/test_StringFunctions.cpp +0 -0
  159. {pye57-0.4.15 → pye57-0.4.16}/pyproject.toml +0 -0
  160. {pye57-0.4.15 → pye57-0.4.16}/setup.cfg +0 -0
  161. {pye57-0.4.15 → pye57-0.4.16}/src/pye57/__init__.py +0 -0
  162. {pye57-0.4.15 → pye57-0.4.16}/src/pye57/exception.py +0 -0
  163. {pye57-0.4.15 → pye57-0.4.16}/src/pye57/scan_header.py +0 -0
  164. {pye57-0.4.15 → pye57-0.4.16}/src/pye57/utils.py +0 -0
  165. {pye57-0.4.15 → pye57-0.4.16}/src/pye57.egg-info/SOURCES.txt +0 -0
  166. {pye57-0.4.15 → pye57-0.4.16}/src/pye57.egg-info/dependency_links.txt +0 -0
  167. {pye57-0.4.15 → pye57-0.4.16}/src/pye57.egg-info/not-zip-safe +0 -0
  168. {pye57-0.4.15 → pye57-0.4.16}/src/pye57.egg-info/requires.txt +0 -0
  169. {pye57-0.4.15 → pye57-0.4.16}/src/pye57.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pye57
3
- Version: 0.4.15
3
+ Version: 0.4.16
4
4
  Summary: Python .e57 files reader/writer
5
5
  Home-page: https://www.github.com/davidcaron/pye57
6
6
  Author: David Caron
@@ -11,14 +11,13 @@ License: MIT
11
11
  Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Programming Language :: Python
13
13
  Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.8
15
14
  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 :: Implementation :: CPython
21
- Requires-Python: >=3.8
20
+ Requires-Python: >=3.9
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
  Requires-Dist: numpy
@@ -90,12 +90,14 @@ class BuildExt(build_ext):
90
90
  opts.append("-DCRCPP_USE_CPP11")
91
91
  opts.append("-DCRCPP_BRANCHLESS")
92
92
  opts.append("-Wno-unused-variable")
93
+ opts.append("-DE57_ENABLE_DIAGNOSTIC_OUTPUT")
93
94
  elif ct == "msvc":
94
95
  opts.append(f'/DVERSION_INFO="{version}"')
95
96
  opts.append(rf'/DREVISION_ID="\"{revision_id}\""')
96
97
  opts.append("/DCRCPP_USE_CPP11")
97
98
  opts.append("/DCRCPP_BRANCHLESS")
98
99
  opts.append("/DWINDOWS")
100
+ opts.append("/DE57_ENABLE_DIAGNOSTIC_OUTPUT")
99
101
  for ext in self.extensions:
100
102
  ext.extra_compile_args = opts
101
103
 
@@ -132,7 +134,6 @@ setup(
132
134
  "License :: OSI Approved :: MIT License",
133
135
  "Programming Language :: Python",
134
136
  "Programming Language :: Python :: 3",
135
- "Programming Language :: Python :: 3.8",
136
137
  "Programming Language :: Python :: 3.9",
137
138
  "Programming Language :: Python :: 3.10",
138
139
  "Programming Language :: Python :: 3.11",
@@ -142,5 +143,5 @@ setup(
142
143
  ],
143
144
  cmdclass={"build_ext": BuildExt},
144
145
  zip_safe=False,
145
- python_requires=">=3.8",
146
+ python_requires=">=3.9",
146
147
  )
@@ -0,0 +1 @@
1
+ __version__ = "0.4.16"
@@ -376,9 +376,9 @@ class E57:
376
376
  max_row = np.max(data["rowIndex"])
377
377
  min_col = np.min(data["columnIndex"])
378
378
  max_col = np.max(data["columnIndex"])
379
- points_prototype.set("rowIndex", libe57.IntegerNode(self.image_file, 0, min_row, max_row))
379
+ points_prototype.set("rowIndex", libe57.IntegerNode(self.image_file, min_row, min_row, max_row))
380
380
  field_names.append("rowIndex")
381
- points_prototype.set("columnIndex", libe57.IntegerNode(self.image_file, 0, min_col, max_col))
381
+ points_prototype.set("columnIndex", libe57.IntegerNode(self.image_file, min_col, min_col, max_col))
382
382
  field_names.append("columnIndex")
383
383
 
384
384
  if "cartesianInvalidState" in data:
@@ -7,6 +7,8 @@
7
7
  #include <E57Format.h>
8
8
  #include <E57Version.h>
9
9
  #include <ASTMVersion.h>
10
+ #include <sstream>
11
+ #include <string.h>
10
12
 
11
13
  namespace py = pybind11;
12
14
  using namespace pybind11::literals;
@@ -40,11 +42,14 @@ PYBIND11_MODULE(libe57, m) {
40
42
 
41
43
  static py::exception<E57Exception> exc(m, "E57Exception");
42
44
  py::register_exception_translator([](std::exception_ptr p) {
43
- try {
44
- if (p) std::rethrow_exception(p);
45
- } catch (const E57Exception &e) {
46
- exc(Utilities::errorCodeToString(e.errorCode()).c_str());
47
- }
45
+ try {
46
+ if (p) std::rethrow_exception(p);
47
+ } catch (const E57Exception &e) {
48
+ std::stringstream ss;
49
+ e.report(__FILE__, __LINE__, __FUNCTION__, ss);
50
+ std::string output = e.errorStr() + std::string("\n\n") + ss.str();
51
+ exc(output.c_str());
52
+ }
48
53
  });
49
54
 
50
55
  m.attr("E57_FORMAT_MAJOR") = E57_FORMAT_MAJOR;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pye57
3
- Version: 0.4.15
3
+ Version: 0.4.16
4
4
  Summary: Python .e57 files reader/writer
5
5
  Home-page: https://www.github.com/davidcaron/pye57
6
6
  Author: David Caron
@@ -11,14 +11,13 @@ License: MIT
11
11
  Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Programming Language :: Python
13
13
  Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.8
15
14
  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 :: Implementation :: CPython
21
- Requires-Python: >=3.8
20
+ Requires-Python: >=3.9
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
  Requires-Dist: numpy
@@ -419,3 +419,24 @@ def test_clone_e57(e57_with_data_and_images_path, temp_e57_write):
419
419
 
420
420
  in_image.close()
421
421
  out_image.close()
422
+
423
+
424
+ def test_write_e57_with_rowindex_and_columnindex_omiting_low_values(temp_e57_write):
425
+
426
+ with pye57.E57(temp_e57_write, mode='w') as e57:
427
+ # set some test points with missing row and column 0 (so np.min of it in write_scan_raw is larger than 0)
428
+ data_raw = {}
429
+ data_raw["cartesianX"] = np.array([0, 1, 2, 3]).astype(float)
430
+ data_raw["cartesianY"] = np.array([0, 1, 2, 3]).astype(float)
431
+ data_raw["cartesianZ"] = np.array([0, 1, 2, 3]).astype(float)
432
+ data_raw["rowIndex"] = np.array([1, 1, 2, 3])
433
+ data_raw["columnIndex"] = np.array([1, 1, 2, 3])
434
+
435
+ try:
436
+ # the next line will throw without the suggested fix
437
+ e57.write_scan_raw(data_raw, name='test_output_with_row_and_column')
438
+ except pye57.libe57.E57Exception as ex:
439
+ print(ex)
440
+ assert False
441
+
442
+ assert os.path.isfile(temp_e57_write)
@@ -1 +0,0 @@
1
- __version__ = "0.4.15"
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