pye57 0.4.11__tar.gz → 0.4.13__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.11/src/pye57.egg-info → pye57-0.4.13}/PKG-INFO +18 -8
  2. {pye57-0.4.11 → pye57-0.4.13}/README.md +15 -7
  3. {pye57-0.4.11 → pye57-0.4.13}/pyproject.toml +1 -1
  4. {pye57-0.4.11 → pye57-0.4.13}/setup.py +18 -1
  5. pye57-0.4.13/src/pye57/__version__.py +1 -0
  6. {pye57-0.4.11 → pye57-0.4.13}/src/pye57/scan_header.py +9 -1
  7. {pye57-0.4.11 → pye57-0.4.13/src/pye57.egg-info}/PKG-INFO +18 -8
  8. pye57-0.4.11/src/pye57/__version__.py +0 -1
  9. {pye57-0.4.11 → pye57-0.4.13}/LICENSE +0 -0
  10. {pye57-0.4.11 → pye57-0.4.13}/MANIFEST.in +0 -0
  11. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/LICENSE-MIT.md +0 -0
  12. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/LICENSE.md +0 -0
  13. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/README.md +0 -0
  14. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/extern/CRCpp/LICENSE +0 -0
  15. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/extern/CRCpp/README.md +0 -0
  16. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/extern/CRCpp/inc/CRC.h +0 -0
  17. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/include/E57Exception.h +0 -0
  18. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/include/E57Format.h +0 -0
  19. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/include/E57SimpleData.h +0 -0
  20. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/include/E57SimpleReader.h +0 -0
  21. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/include/E57SimpleWriter.h +0 -0
  22. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/include/E57Version.h +0 -0
  23. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ASTMVersion.h +0 -0
  24. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/BlobNode.cpp +0 -0
  25. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/BlobNodeImpl.cpp +0 -0
  26. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/BlobNodeImpl.h +0 -0
  27. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CheckedFile.cpp +0 -0
  28. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CheckedFile.h +0 -0
  29. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Common.cpp +0 -0
  30. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Common.h +0 -0
  31. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorNode.cpp +0 -0
  32. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorNodeImpl.cpp +0 -0
  33. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorNodeImpl.h +0 -0
  34. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorReader.cpp +0 -0
  35. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorReaderImpl.cpp +0 -0
  36. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorReaderImpl.h +0 -0
  37. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorWriter.cpp +0 -0
  38. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorWriterImpl.cpp +0 -0
  39. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/CompressedVectorWriterImpl.h +0 -0
  40. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/DecodeChannel.cpp +0 -0
  41. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/DecodeChannel.h +0 -0
  42. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Decoder.cpp +0 -0
  43. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Decoder.h +0 -0
  44. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/E57Exception.cpp +0 -0
  45. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/E57SimpleData.cpp +0 -0
  46. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/E57SimpleReader.cpp +0 -0
  47. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/E57SimpleWriter.cpp +0 -0
  48. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/E57Version.cpp +0 -0
  49. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/E57XmlParser.cpp +0 -0
  50. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/E57XmlParser.h +0 -0
  51. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Encoder.cpp +0 -0
  52. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Encoder.h +0 -0
  53. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/FloatNode.cpp +0 -0
  54. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/FloatNodeImpl.cpp +0 -0
  55. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/FloatNodeImpl.h +0 -0
  56. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ImageFile.cpp +0 -0
  57. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ImageFileImpl.cpp +0 -0
  58. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ImageFileImpl.h +0 -0
  59. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/IntegerNode.cpp +0 -0
  60. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/IntegerNodeImpl.cpp +0 -0
  61. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/IntegerNodeImpl.h +0 -0
  62. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Node.cpp +0 -0
  63. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/NodeImpl.cpp +0 -0
  64. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/NodeImpl.h +0 -0
  65. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Packet.cpp +0 -0
  66. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/Packet.h +0 -0
  67. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ReaderImpl.cpp +0 -0
  68. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ReaderImpl.h +0 -0
  69. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ScaledIntegerNode.cpp +0 -0
  70. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ScaledIntegerNodeImpl.cpp +0 -0
  71. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/ScaledIntegerNodeImpl.h +0 -0
  72. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/SectionHeaders.cpp +0 -0
  73. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/SectionHeaders.h +0 -0
  74. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/SourceDestBuffer.cpp +0 -0
  75. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/SourceDestBufferImpl.cpp +0 -0
  76. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/SourceDestBufferImpl.h +0 -0
  77. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StringFunctions.cpp +0 -0
  78. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StringFunctions.h +0 -0
  79. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StringNode.cpp +0 -0
  80. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StringNodeImpl.cpp +0 -0
  81. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StringNodeImpl.h +0 -0
  82. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StructureNode.cpp +0 -0
  83. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StructureNodeImpl.cpp +0 -0
  84. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/StructureNodeImpl.h +0 -0
  85. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/VectorNode.cpp +0 -0
  86. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/VectorNodeImpl.cpp +0 -0
  87. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/VectorNodeImpl.h +0 -0
  88. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/WriterImpl.cpp +0 -0
  89. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/src/WriterImpl.h +0 -0
  90. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/README.md +0 -0
  91. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/LICENSE +0 -0
  92. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/README.md +0 -0
  93. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/README.md +0 -0
  94. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/docs/README.md +0 -0
  95. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-actions.h +0 -0
  96. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-cardinalities.h +0 -0
  97. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-function-mocker.h +0 -0
  98. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-matchers.h +0 -0
  99. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-more-actions.h +0 -0
  100. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-more-matchers.h +0 -0
  101. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-nice-strict.h +0 -0
  102. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock-spec-builders.h +0 -0
  103. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/gmock.h +0 -0
  104. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/README.md +0 -0
  105. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +0 -0
  106. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +0 -0
  107. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +0 -0
  108. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +0 -0
  109. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/gmock-port.h +0 -0
  110. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/include/gmock/internal/gmock-pp.h +0 -0
  111. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/test/gmock-matchers_test.h +0 -0
  112. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googlemock/test/gmock_link_test.h +0 -0
  113. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/README.md +0 -0
  114. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/docs/README.md +0 -0
  115. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-assertion-result.h +0 -0
  116. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-death-test.h +0 -0
  117. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-matchers.h +0 -0
  118. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-message.h +0 -0
  119. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-param-test.h +0 -0
  120. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-printers.h +0 -0
  121. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-spi.h +0 -0
  122. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-test-part.h +0 -0
  123. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest-typed-test.h +0 -0
  124. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest.h +0 -0
  125. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest_pred_impl.h +0 -0
  126. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/gtest_prod.h +0 -0
  127. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/README.md +0 -0
  128. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/gtest-port.h +0 -0
  129. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +0 -0
  130. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/custom/gtest.h +0 -0
  131. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -0
  132. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-filepath.h +0 -0
  133. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-internal.h +0 -0
  134. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-param-util.h +0 -0
  135. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-port-arch.h +0 -0
  136. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-port.h +0 -0
  137. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-string.h +0 -0
  138. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/include/gtest/internal/gtest-type-util.h +0 -0
  139. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/samples/prime_tables.h +0 -0
  140. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/samples/sample1.h +0 -0
  141. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/samples/sample2.h +0 -0
  142. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/samples/sample3-inl.h +0 -0
  143. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/samples/sample4.h +0 -0
  144. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/src/gtest-internal-inl.h +0 -0
  145. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/test/googletest-param-test-test.h +0 -0
  146. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/test/gtest-typed-test_test.h +0 -0
  147. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/extern/googletest/googletest/test/production.h +0 -0
  148. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/include/Helpers.h +0 -0
  149. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/include/RandomNum.h +0 -0
  150. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/include/TestData.h +0 -0
  151. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/src/RandomNum.cpp +0 -0
  152. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/src/TestData.cpp +0 -0
  153. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/src/main.cpp +0 -0
  154. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/src/test_SimpleData.cpp +0 -0
  155. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/src/test_SimpleReader.cpp +0 -0
  156. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/src/test_SimpleWriter.cpp +0 -0
  157. {pye57-0.4.11 → pye57-0.4.13}/libE57Format/test/src/test_StringFunctions.cpp +0 -0
  158. {pye57-0.4.11 → pye57-0.4.13}/setup.cfg +0 -0
  159. {pye57-0.4.11 → pye57-0.4.13}/src/pye57/__init__.py +0 -0
  160. {pye57-0.4.11 → pye57-0.4.13}/src/pye57/e57.py +0 -0
  161. {pye57-0.4.11 → pye57-0.4.13}/src/pye57/exception.py +0 -0
  162. {pye57-0.4.11 → pye57-0.4.13}/src/pye57/libe57_wrapper.cpp +0 -0
  163. {pye57-0.4.11 → pye57-0.4.13}/src/pye57/utils.py +0 -0
  164. {pye57-0.4.11 → pye57-0.4.13}/src/pye57.egg-info/SOURCES.txt +0 -0
  165. {pye57-0.4.11 → pye57-0.4.13}/src/pye57.egg-info/dependency_links.txt +0 -0
  166. {pye57-0.4.11 → pye57-0.4.13}/src/pye57.egg-info/not-zip-safe +0 -0
  167. {pye57-0.4.11 → pye57-0.4.13}/src/pye57.egg-info/requires.txt +0 -0
  168. {pye57-0.4.11 → pye57-0.4.13}/src/pye57.egg-info/top_level.txt +0 -0
  169. {pye57-0.4.11 → pye57-0.4.13}/tests/test_main.py +0 -0
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pye57
3
- Version: 0.4.11
3
+ Version: 0.4.13
4
4
  Summary: Python .e57 files reader/writer
5
5
  Home-page: https://www.github.com/davidcaron/pye57
6
6
  Author: David Caron
7
7
  Author-email: dcaron05@gmail.com
8
+ Maintainer: Graham Knapp
9
+ Maintainer-email: graham.knapp@gmail.com
8
10
  License: MIT
9
11
  Classifier: License :: OSI Approved :: MIT License
10
12
  Classifier: Programming Language :: Python
@@ -94,21 +96,23 @@ translation_x = scan_0["pose"]["translation"]["x"]
94
96
 
95
97
  ## Installation
96
98
 
97
- If you're on linux or Windows, a wheel should be available.
99
+ On linux, Windows or Apple Silicon:
98
100
 
99
101
  `python -m pip install pye57`
100
102
 
101
- ## Building from source
103
+ On macOS with Intel CPU you can try to build from source (advanced users):
102
104
 
103
- ### Cloning the repository and required submodules
105
+ ## Building from source (for developers)
104
106
 
105
- Clone a new repository along with the required submodules
107
+ ### Cloning the repository with required submodule
108
+
109
+ Clone a new repository along with the libe57Format submodule
106
110
 
107
111
  `git clone https://github.com/davidcaron/pye57.git --recursive`
108
112
 
109
113
  If the repository has already been previously cloned, but without the --recursive flag
110
114
 
111
- ```
115
+ ```Bash
112
116
  cd pye57 # go to the cloned repository
113
117
  git submodule init # this will initialise the submodules in the repository
114
118
  git submodule update # this will update the submodules in the repository
@@ -126,9 +130,15 @@ To get xerces-c, you can either build from source or if you're using conda:
126
130
 
127
131
  `conda install -y xerces-c`
128
132
 
133
+ ### Dependencies on MacOS
134
+
135
+ To get xerces-c, run:
136
+
137
+ `bash ./scripts/install_xerces_c.sh`
138
+
129
139
  ### Run `pip install` from the repo source
130
140
 
131
- ```
141
+ ```Bash
132
142
  cd pye57
133
143
  python -m pip install .
134
144
  ```
@@ -137,6 +147,6 @@ python -m pip install .
137
147
 
138
148
  Use pip again
139
149
 
140
- ```
150
+ ```Bash
141
151
  python -m pip uninstall pye57
142
152
  ```
@@ -68,21 +68,23 @@ translation_x = scan_0["pose"]["translation"]["x"]
68
68
 
69
69
  ## Installation
70
70
 
71
- If you're on linux or Windows, a wheel should be available.
71
+ On linux, Windows or Apple Silicon:
72
72
 
73
73
  `python -m pip install pye57`
74
74
 
75
- ## Building from source
75
+ On macOS with Intel CPU you can try to build from source (advanced users):
76
76
 
77
- ### Cloning the repository and required submodules
77
+ ## Building from source (for developers)
78
78
 
79
- Clone a new repository along with the required submodules
79
+ ### Cloning the repository with required submodule
80
+
81
+ Clone a new repository along with the libe57Format submodule
80
82
 
81
83
  `git clone https://github.com/davidcaron/pye57.git --recursive`
82
84
 
83
85
  If the repository has already been previously cloned, but without the --recursive flag
84
86
 
85
- ```
87
+ ```Bash
86
88
  cd pye57 # go to the cloned repository
87
89
  git submodule init # this will initialise the submodules in the repository
88
90
  git submodule update # this will update the submodules in the repository
@@ -100,9 +102,15 @@ To get xerces-c, you can either build from source or if you're using conda:
100
102
 
101
103
  `conda install -y xerces-c`
102
104
 
105
+ ### Dependencies on MacOS
106
+
107
+ To get xerces-c, run:
108
+
109
+ `bash ./scripts/install_xerces_c.sh`
110
+
103
111
  ### Run `pip install` from the repo source
104
112
 
105
- ```
113
+ ```Bash
106
114
  cd pye57
107
115
  python -m pip install .
108
116
  ```
@@ -111,6 +119,6 @@ python -m pip install .
111
119
 
112
120
  Use pip again
113
121
 
114
- ```
122
+ ```Bash
115
123
  python -m pip uninstall pye57
116
124
  ```
@@ -14,5 +14,5 @@ build-backend = "setuptools.build_meta"
14
14
  # before-all = "bash scripts/install_xerces_c.sh"
15
15
  # before-all = "powershell scripts/install_xerces_c.ps1"
16
16
  test-requires = "pytest"
17
- build = "cp*-manylinux_x86_64 cp*-win_amd64*"
17
+ build = "cp*-manylinux_x86_64 cp*-win_amd64* cp*-macosx*"
18
18
  test-command = "python -m pytest {project}/tests"
@@ -25,6 +25,7 @@ include_dirs = [
25
25
  "libE57Format/extern/CRCpp/inc",
26
26
  ]
27
27
  package_data = []
28
+ extra_link_args = []
28
29
 
29
30
  if platform.system() == "Windows":
30
31
  libraries.append("xerces-c_3")
@@ -43,7 +44,20 @@ if platform.system() == "Windows":
43
44
  # include xerces-c dll in the package
44
45
  shutil.copy2(xerces_dir / "bin" / "xerces-c_3_2.dll", HERE / "src" / "pye57")
45
46
  package_data.append("xerces-c_3_2.dll")
46
-
47
+ elif platform.system() == "Darwin":
48
+ xerces_dir = Path("/usr/local/")
49
+ if xerces_dir.exists():
50
+ # include xerces-c dylib in the package
51
+ shutil.copy2(xerces_dir / "lib" / "libxerces-c-3.2.dylib", HERE / "src" / "pye57")
52
+ library_dirs.append(str(xerces_dir / "lib"))
53
+ include_dirs.append(str(xerces_dir / "include"))
54
+ package_data.append("libxerces-c-3.2.dylib")
55
+ libraries.append("xerces-c")
56
+ extra_link_args = [
57
+ f"-Wl,-rpath,@loader_path",
58
+ f"-L{str(HERE / 'src' / 'pye57')}",
59
+ "-lxerces-c",
60
+ ]
47
61
  else:
48
62
  libraries.append("xerces-c")
49
63
 
@@ -56,6 +70,7 @@ ext_modules = [
56
70
  libraries=libraries,
57
71
  library_dirs=library_dirs,
58
72
  language="c++",
73
+ extra_link_args=extra_link_args,
59
74
  ),
60
75
  ]
61
76
 
@@ -99,6 +114,8 @@ setup(
99
114
  version=version,
100
115
  author="David Caron",
101
116
  author_email="dcaron05@gmail.com",
117
+ maintainer="Graham Knapp",
118
+ maintainer_email="graham.knapp@gmail.com",
102
119
  url="https://www.github.com/davidcaron/pye57",
103
120
  description="Python .e57 files reader/writer",
104
121
  long_description=long_description,
@@ -0,0 +1 @@
1
+ __version__ = "0.4.13"
@@ -5,6 +5,10 @@ from pye57 import libe57
5
5
  from pye57.utils import get_fields, get_node
6
6
 
7
7
  class ScanHeader:
8
+ """Provides summary statistics for an individual lidar scan in an E57 file.
9
+
10
+ Including the number of points, bounds and pose of the scan.
11
+ """
8
12
  def __init__(self, scan_node):
9
13
  self.node = scan_node
10
14
  points = self.node["points"]
@@ -29,7 +33,11 @@ class ScanHeader:
29
33
 
30
34
  @property
31
35
  def rotation(self) -> np.array:
32
- q = Quaternion([e.value() for e in self.node["pose"]["rotation"]])
36
+ try:
37
+ rotation = self.node["pose"]["rotation"]
38
+ q = Quaternion([e.value() for e in rotation])
39
+ except KeyError:
40
+ q = Quaternion()
33
41
  return q.elements
34
42
 
35
43
  @property
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pye57
3
- Version: 0.4.11
3
+ Version: 0.4.13
4
4
  Summary: Python .e57 files reader/writer
5
5
  Home-page: https://www.github.com/davidcaron/pye57
6
6
  Author: David Caron
7
7
  Author-email: dcaron05@gmail.com
8
+ Maintainer: Graham Knapp
9
+ Maintainer-email: graham.knapp@gmail.com
8
10
  License: MIT
9
11
  Classifier: License :: OSI Approved :: MIT License
10
12
  Classifier: Programming Language :: Python
@@ -94,21 +96,23 @@ translation_x = scan_0["pose"]["translation"]["x"]
94
96
 
95
97
  ## Installation
96
98
 
97
- If you're on linux or Windows, a wheel should be available.
99
+ On linux, Windows or Apple Silicon:
98
100
 
99
101
  `python -m pip install pye57`
100
102
 
101
- ## Building from source
103
+ On macOS with Intel CPU you can try to build from source (advanced users):
102
104
 
103
- ### Cloning the repository and required submodules
105
+ ## Building from source (for developers)
104
106
 
105
- Clone a new repository along with the required submodules
107
+ ### Cloning the repository with required submodule
108
+
109
+ Clone a new repository along with the libe57Format submodule
106
110
 
107
111
  `git clone https://github.com/davidcaron/pye57.git --recursive`
108
112
 
109
113
  If the repository has already been previously cloned, but without the --recursive flag
110
114
 
111
- ```
115
+ ```Bash
112
116
  cd pye57 # go to the cloned repository
113
117
  git submodule init # this will initialise the submodules in the repository
114
118
  git submodule update # this will update the submodules in the repository
@@ -126,9 +130,15 @@ To get xerces-c, you can either build from source or if you're using conda:
126
130
 
127
131
  `conda install -y xerces-c`
128
132
 
133
+ ### Dependencies on MacOS
134
+
135
+ To get xerces-c, run:
136
+
137
+ `bash ./scripts/install_xerces_c.sh`
138
+
129
139
  ### Run `pip install` from the repo source
130
140
 
131
- ```
141
+ ```Bash
132
142
  cd pye57
133
143
  python -m pip install .
134
144
  ```
@@ -137,6 +147,6 @@ python -m pip install .
137
147
 
138
148
  Use pip again
139
149
 
140
- ```
150
+ ```Bash
141
151
  python -m pip uninstall pye57
142
152
  ```
@@ -1 +0,0 @@
1
- __version__ = "0.4.11"
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