sgio 0.2.12__tar.gz → 0.2.14__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 (200) hide show
  1. {sgio-0.2.12 → sgio-0.2.14}/PKG-INFO +41 -2
  2. {sgio-0.2.12 → sgio-0.2.14}/README.md +34 -1
  3. {sgio-0.2.12 → sgio-0.2.14}/pyproject.toml +69 -62
  4. {sgio-0.2.12 → sgio-0.2.14}/sgio/__init__.py +24 -4
  5. sgio-0.2.14/sgio/__main__.py +18 -0
  6. sgio-0.2.14/sgio/_version.py +1 -0
  7. {sgio-0.2.12 → sgio-0.2.14}/sgio/app.py +6 -0
  8. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/plot.py +13 -6
  9. sgio-0.2.12/sgio/__main__.py +0 -6
  10. sgio-0.2.12/sgio/_version.py +0 -1
  11. {sgio-0.2.12 → sgio-0.2.14}/.gitignore +0 -0
  12. {sgio-0.2.12 → sgio-0.2.14}/LICENSE +0 -0
  13. {sgio-0.2.12 → sgio-0.2.14}/sgio/_exceptions.py +0 -0
  14. {sgio-0.2.12 → sgio-0.2.14}/sgio/_global.py +0 -0
  15. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/__init__.py +0 -0
  16. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/NoneSort.py +0 -0
  17. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/__init__.py +0 -0
  18. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/centroid.py +0 -0
  19. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/config.py +0 -0
  20. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/config_re.py +0 -0
  21. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/csid.py +0 -0
  22. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/elType.py +0 -0
  23. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/eval2.py +0 -0
  24. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpDecimal.py +0 -0
  25. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpInt.py +0 -0
  26. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpKeyword.py +0 -0
  27. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpKeywordHelper.py +0 -0
  28. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpKeywordSequence.py +0 -0
  29. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/Read_Disclaimer_First.txt +0 -0
  30. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/__init__.py +0 -0
  31. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/_importedModules.py +0 -0
  32. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/_inpCustom.py +0 -0
  33. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/_inpFind.py +0 -0
  34. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/_inpFindRefs.py +0 -0
  35. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/_inpMod.py +0 -0
  36. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/_inpR.py +0 -0
  37. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/_inpW.py +0 -0
  38. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/elInfoDict.txt +0 -0
  39. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/keyword_names.txt +0 -0
  40. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/keyword_sub.txt +0 -0
  41. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW/legal_notices.pdf +0 -0
  42. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW-2023.10.6.dist-info/METADATA +0 -0
  43. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW-2023.10.6.dist-info/RECORD +0 -0
  44. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW-2023.10.6.dist-info/WHEEL +0 -0
  45. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW-2023.10.6.dist-info/license.txt +0 -0
  46. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRW-2023.10.6.dist-info/top_level.txt +0 -0
  47. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpRWErrors.py +0 -0
  48. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/inpString.py +0 -0
  49. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/mesh.py +0 -0
  50. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/misc_functions.py +0 -0
  51. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/paramTypes.py +0 -0
  52. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/printer.py +0 -0
  53. {sgio-0.2.12 → sgio-0.2.14}/sgio/_vendors/inprw/repr2.py +0 -0
  54. {sgio-0.2.12 → sgio-0.2.14}/sgio/core/__init__.py +0 -0
  55. {sgio-0.2.12 → sgio-0.2.14}/sgio/core/builder.py +0 -0
  56. {sgio-0.2.12 → sgio-0.2.14}/sgio/core/merge.py +0 -0
  57. {sgio-0.2.12 → sgio-0.2.14}/sgio/core/mesh.py +0 -0
  58. {sgio-0.2.12 → sgio-0.2.14}/sgio/core/sg.py +0 -0
  59. {sgio-0.2.12 → sgio-0.2.14}/sgio/execu.py +0 -0
  60. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/__init__.py +0 -0
  61. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/_meshio.py +0 -0
  62. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/abaqus/__init__.py +0 -0
  63. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/abaqus/_abaqus.py +0 -0
  64. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/abaqus/_abaqus_old.py +0 -0
  65. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/gmsh/__init__.py +0 -0
  66. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/gmsh/_common.py +0 -0
  67. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/gmsh/_gmsh.py +0 -0
  68. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/gmsh/_gmsh22.py +0 -0
  69. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/gmsh/_gmsh41.py +0 -0
  70. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/main.py +0 -0
  71. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/nastran/_nastran.py +0 -0
  72. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/swiftcomp/__init__.py +0 -0
  73. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/swiftcomp/_global.py +0 -0
  74. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/swiftcomp/_input.py +0 -0
  75. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/swiftcomp/_mesh.py +0 -0
  76. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/swiftcomp/_output.py +0 -0
  77. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/swiftcomp/_swiftcomp.py +0 -0
  78. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/vabs/__init__.py +0 -0
  79. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/vabs/_input.py +0 -0
  80. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/vabs/_mesh.py +0 -0
  81. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/vabs/_output.py +0 -0
  82. {sgio-0.2.12 → sgio-0.2.14}/sgio/iofunc/vabs/main.py +0 -0
  83. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/iofunc/_common.py +0 -0
  84. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/iofunc/_helpers.py +0 -0
  85. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/mesh/__init__.py +0 -0
  86. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/mesh/base.py +0 -0
  87. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/mesh/formats/__init__.py +0 -0
  88. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/mesh/formats/abaqus.py +0 -0
  89. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/__about__.py +0 -0
  90. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/__init__.py +0 -0
  91. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/__init__.py +0 -0
  92. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/_ascii.py +0 -0
  93. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/_binary.py +0 -0
  94. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/_compress.py +0 -0
  95. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/_convert.py +0 -0
  96. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/_decompress.py +0 -0
  97. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/_info.py +0 -0
  98. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cli/_main.py +0 -0
  99. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_common.py +0 -0
  100. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cxml/__init__.py +0 -0
  101. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_cxml/etree.py +0 -0
  102. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_exceptions.py +0 -0
  103. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_files.py +0 -0
  104. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_helpers.py +0 -0
  105. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_mesh.py +0 -0
  106. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_mesh_original.py +0 -0
  107. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/_vtk_common.py +0 -0
  108. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/abaqus/__init__.py +0 -0
  109. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/abaqus/_abaqus.py +0 -0
  110. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/abaqus/_abaqus_original.py +0 -0
  111. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/ansys/__init__.py +0 -0
  112. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/ansys/_ansys.py +0 -0
  113. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/avsucd/__init__.py +0 -0
  114. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/avsucd/_avsucd.py +0 -0
  115. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/cgns/__init__.py +0 -0
  116. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/cgns/_cgns.py +0 -0
  117. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/dolfin/__init__.py +0 -0
  118. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/dolfin/_dolfin.py +0 -0
  119. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/exodus/__init__.py +0 -0
  120. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/exodus/_exodus.py +0 -0
  121. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/flac3d/__init__.py +0 -0
  122. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/flac3d/_flac3d.py +0 -0
  123. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/__init__.py +0 -0
  124. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/_gmsh22.py +0 -0
  125. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/_gmsh22_original.py +0 -0
  126. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/_gmsh40.py +0 -0
  127. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/_gmsh41.py +0 -0
  128. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/_gmsh41_original.py +0 -0
  129. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/common.py +0 -0
  130. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/common_origin.py +0 -0
  131. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/main.py +0 -0
  132. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/gmsh/main_origin.py +0 -0
  133. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/h5m/__init__.py +0 -0
  134. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/h5m/_h5m.py +0 -0
  135. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/hmf/__init__.py +0 -0
  136. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/hmf/_hmf.py +0 -0
  137. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/mdpa/__init__.py +0 -0
  138. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/mdpa/_mdpa.py +0 -0
  139. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/med/__init__.py +0 -0
  140. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/med/_med.py +0 -0
  141. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/medit/__init__.py +0 -0
  142. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/medit/_medit.py +0 -0
  143. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/medit/_medit_internal.py +0 -0
  144. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/nastran/__init__.py +0 -0
  145. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/nastran/_nastran.py +0 -0
  146. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/netgen/__init__.py +0 -0
  147. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/netgen/_netgen.py +0 -0
  148. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/neuroglancer/__init__.py +0 -0
  149. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/neuroglancer/_neuroglancer.py +0 -0
  150. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/obj/__init__.py +0 -0
  151. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/obj/_obj.py +0 -0
  152. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/off/__init__.py +0 -0
  153. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/off/_off.py +0 -0
  154. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/permas/__init__.py +0 -0
  155. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/permas/_permas.py +0 -0
  156. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/ply/__init__.py +0 -0
  157. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/ply/_ply.py +0 -0
  158. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/sg/__init__.py +0 -0
  159. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/sg/_swiftcomp.py +0 -0
  160. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/sg/_vabs.py +0 -0
  161. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/sg/common.py +0 -0
  162. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/sg/main.py +0 -0
  163. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/stl/__init__.py +0 -0
  164. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/stl/_stl.py +0 -0
  165. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/su2/__init__.py +0 -0
  166. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/su2/_su2.py +0 -0
  167. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/svg/__init__.py +0 -0
  168. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/svg/_svg.py +0 -0
  169. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/tecplot/__init__.py +0 -0
  170. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/tecplot/_tecplot.py +0 -0
  171. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/tetgen/__init__.py +0 -0
  172. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/tetgen/_tetgen.py +0 -0
  173. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/ugrid/__init__.py +0 -0
  174. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/ugrid/_ugrid.py +0 -0
  175. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/vtk/__init__.py +0 -0
  176. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/vtk/_main.py +0 -0
  177. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/vtk/_vtk_42.py +0 -0
  178. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/vtk/_vtk_51.py +0 -0
  179. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/vtu/__init__.py +0 -0
  180. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/vtu/_vtu.py +0 -0
  181. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/wkt/__init__.py +0 -0
  182. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/wkt/_wkt.py +0 -0
  183. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/xdmf/__init__.py +0 -0
  184. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/xdmf/common.py +0 -0
  185. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/xdmf/main.py +0 -0
  186. {sgio-0.2.12 → sgio-0.2.14}/sgio/legacy/meshio_old/xdmf/time_series.py +0 -0
  187. {sgio-0.2.12 → sgio-0.2.14}/sgio/model/__init__.py +0 -0
  188. {sgio-0.2.12 → sgio-0.2.14}/sgio/model/beam.py +0 -0
  189. {sgio-0.2.12 → sgio-0.2.14}/sgio/model/failure.py +0 -0
  190. {sgio-0.2.12 → sgio-0.2.14}/sgio/model/general.py +0 -0
  191. {sgio-0.2.12 → sgio-0.2.14}/sgio/model/shell.py +0 -0
  192. {sgio-0.2.12 → sgio-0.2.14}/sgio/model/solid.py +0 -0
  193. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/__init__.py +0 -0
  194. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/database.py +0 -0
  195. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/execu.py +0 -0
  196. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/io.py +0 -0
  197. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/logging.py +0 -0
  198. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/math.py +0 -0
  199. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/timer.py +0 -0
  200. {sgio-0.2.12 → sgio-0.2.14}/sgio/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sgio
3
- Version: 0.2.12
3
+ Version: 0.2.14
4
4
  Summary: I/O for VABS and SwiftComp
5
5
  Project-URL: Homepage, https://github.com/wenbinyugroup/sgio
6
6
  Project-URL: Documentation, https://wenbinyugroup.github.io/sgio/
@@ -10,14 +10,20 @@ License-File: LICENSE
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Requires-Python: >=3.9
13
+ Requires-Dist: build>=1.3.0
14
+ Requires-Dist: hatchling>=1.27.0
13
15
  Requires-Dist: matplotlib
14
16
  Requires-Dist: meshio
15
17
  Requires-Dist: pyyaml
16
18
  Requires-Dist: scipy
19
+ Requires-Dist: twine>=6.2.0
17
20
  Provides-Extra: all
18
21
  Requires-Dist: h5py; extra == 'all'
19
22
  Requires-Dist: netcdf4; extra == 'all'
20
23
  Requires-Dist: pytest; extra == 'all'
24
+ Provides-Extra: dev
25
+ Requires-Dist: pyinstaller; extra == 'dev'
26
+ Requires-Dist: pytest; extra == 'dev'
21
27
  Description-Content-Type: text/markdown
22
28
 
23
29
  # SGIO
@@ -50,11 +56,44 @@ Online [documentation](https://wenbinyugroup.github.io/sgio/)
50
56
 
51
57
  ## Installation
52
58
 
59
+ ### Option 1: Install via pip (Recommended)
60
+
53
61
  ```shell
54
62
  pip install sgio
55
63
  ```
56
64
 
57
- ### Manual Installation
65
+ ### Option 2: Standalone Executable (No Python Required)
66
+
67
+ Download and use the pre-built standalone executable that requires no Python installation:
68
+
69
+ 1. Download the latest executable from the releases page
70
+ 2. Run directly from command line:
71
+ ```shell
72
+ # Windows
73
+ sgio.exe --help
74
+
75
+ # Linux/macOS
76
+ ./sgio --help
77
+ ```
78
+
79
+ ### Option 3: Build Your Own Executable
80
+
81
+ Build a standalone executable from source:
82
+
83
+ ```shell
84
+ # Windows
85
+ build_executable.bat
86
+
87
+ # Linux/macOS
88
+ ./build_executable.sh
89
+
90
+ # Or manually
91
+ python build_executable.py
92
+ ```
93
+
94
+ See [BUILD_EXECUTABLE.md](BUILD_EXECUTABLE.md) for detailed instructions.
95
+
96
+ ### Option 4: Manual Installation
58
97
 
59
98
  1. [Download](https://github.com/wenbinyugroup/sgio) the package.
60
99
  2. Install dependencies:
@@ -28,11 +28,44 @@ Online [documentation](https://wenbinyugroup.github.io/sgio/)
28
28
 
29
29
  ## Installation
30
30
 
31
+ ### Option 1: Install via pip (Recommended)
32
+
31
33
  ```shell
32
34
  pip install sgio
33
35
  ```
34
36
 
35
- ### Manual Installation
37
+ ### Option 2: Standalone Executable (No Python Required)
38
+
39
+ Download and use the pre-built standalone executable that requires no Python installation:
40
+
41
+ 1. Download the latest executable from the releases page
42
+ 2. Run directly from command line:
43
+ ```shell
44
+ # Windows
45
+ sgio.exe --help
46
+
47
+ # Linux/macOS
48
+ ./sgio --help
49
+ ```
50
+
51
+ ### Option 3: Build Your Own Executable
52
+
53
+ Build a standalone executable from source:
54
+
55
+ ```shell
56
+ # Windows
57
+ build_executable.bat
58
+
59
+ # Linux/macOS
60
+ ./build_executable.sh
61
+
62
+ # Or manually
63
+ python build_executable.py
64
+ ```
65
+
66
+ See [BUILD_EXECUTABLE.md](BUILD_EXECUTABLE.md) for detailed instructions.
67
+
68
+ ### Option 4: Manual Installation
36
69
 
37
70
  1. [Download](https://github.com/wenbinyugroup/sgio) the package.
38
71
  2. Install dependencies:
@@ -1,62 +1,69 @@
1
- [build-system]
2
- requires = ["hatchling"]
3
- build-backend = "hatchling.build"
4
-
5
- [project]
6
- name = "sgio"
7
- # version = "0.1.0"
8
- dynamic = ["version"]
9
- description = "I/O for VABS and SwiftComp"
10
- authors = [
11
- { name = "Su Tian", email = "sutian@analyswift.com" }
12
- ]
13
- readme = { file = "README.md", content-type = "text/markdown" }
14
- requires-python = ">=3.9"
15
- dependencies = [
16
- "meshio",
17
- # "importlib_metadata; python_version<'3.8'",
18
- # "numpy>=2",
19
- # "rich",
20
- "matplotlib",
21
- "pyyaml",
22
- "scipy",
23
- ]
24
- classifiers = [
25
- "Programming Language :: Python :: 3",
26
- "Operating System :: OS Independent",
27
- ]
28
- license = "MIT"
29
- license-files = ["LICEN[CS]E*"]
30
-
31
- [project.optional-dependencies]
32
- all = [
33
- "h5py",
34
- "netCDF4",
35
- "pytest",
36
- ]
37
-
38
- [project.urls]
39
- Homepage = "https://github.com/wenbinyugroup/sgio"
40
- Documentation = "https://wenbinyugroup.github.io/sgio/"
41
-
42
- [tool.hatch.version]
43
- source = "regex"
44
- path = "sgio/_version.py"
45
- pattern = '^__version__ = "(?P<version>[^"]+)"$'
46
-
47
- [tool.hatch.build.targets.sdist]
48
- only-include = [
49
- "sgio",
50
- "LICENSE",
51
- "README.md",
52
- "pyproject.toml",
53
- ]
54
- # exclude = [
55
- # ".github",
56
- # "docs",
57
- # "examples",
58
- # "tests",
59
- # "/.gitignore",
60
- # "build_and_publish.bat",
61
- # "requirements.txt",
62
- # ]
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "sgio"
7
+ # version = "0.1.0"
8
+ dynamic = ["version"]
9
+ description = "I/O for VABS and SwiftComp"
10
+ authors = [
11
+ { name = "Su Tian", email = "sutian@analyswift.com" }
12
+ ]
13
+ readme = { file = "README.md", content-type = "text/markdown" }
14
+ requires-python = ">=3.9"
15
+ dependencies = [
16
+ "meshio",
17
+ # "importlib_metadata; python_version<'3.8'",
18
+ # "numpy>=2",
19
+ # "rich",
20
+ "matplotlib",
21
+ "pyyaml",
22
+ "scipy",
23
+ "twine>=6.2.0",
24
+ "build>=1.3.0",
25
+ "hatchling>=1.27.0",
26
+ ]
27
+ classifiers = [
28
+ "Programming Language :: Python :: 3",
29
+ "Operating System :: OS Independent",
30
+ ]
31
+ license = "MIT"
32
+ license-files = ["LICEN[CS]E*"]
33
+
34
+ [project.optional-dependencies]
35
+ dev = [
36
+ "pytest",
37
+ "pyinstaller", # For building executables
38
+ ]
39
+ all = [
40
+ "h5py",
41
+ "netCDF4",
42
+ "pytest",
43
+ ]
44
+
45
+ [project.scripts]
46
+ sgio = "sgio.__main__:main"
47
+
48
+ [project.urls]
49
+ Homepage = "https://github.com/wenbinyugroup/sgio"
50
+ Documentation = "https://wenbinyugroup.github.io/sgio/"
51
+
52
+ [tool.hatch.version]
53
+ source = "regex"
54
+ path = "sgio/_version.py"
55
+ pattern = '^__version__ = "(?P<version>[^"]+)"$'
56
+
57
+ [tool.hatch.build.targets.sdist]
58
+ only-include = [
59
+ "sgio",
60
+ "LICENSE",
61
+ "README.md",
62
+ "pyproject.toml",
63
+ ]
64
+
65
+ [tool.uv]
66
+ dev-dependencies = [
67
+ "pytest>=6.0",
68
+ "pyinstaller>=5.0",
69
+ ]
@@ -14,6 +14,7 @@ from ._exceptions import (
14
14
 
15
15
  from .core import (
16
16
  StructureGene,
17
+ SGMesh,
17
18
  check_isolated_nodes,
18
19
  renumber_elements,
19
20
  )
@@ -50,7 +51,11 @@ from .utils import (
50
51
  from ._vendors import inprw
51
52
 
52
53
  __all__ = [
54
+ # Version
55
+ "__version__",
56
+ # Configuration and logging
53
57
  "configure_logging",
58
+ # I/O functions
54
59
  "read",
55
60
  "readOutput",
56
61
  "readOutputModel",
@@ -58,11 +63,26 @@ __all__ = [
58
63
  "write",
59
64
  "convert",
60
65
  "readLoadCsv",
61
- 'run',
62
- 'buildSG1D',
63
- 'combineSG'
66
+ "addCellDictDataToMesh",
67
+ "addPointDictDataToMesh",
68
+ # Execution
69
+ "run",
70
+ # Core functions and classes
71
+ "buildSG1D",
72
+ "combineSG",
64
73
  "SGMesh",
65
- 'StructureGene',
74
+ "StructureGene",
75
+ "check_isolated_nodes",
76
+ "renumber_elements",
77
+ # Utility functions
78
+ "plot_sg_2d",
79
+ # Model classes from .model import *
80
+ "CauchyContinuumModel",
81
+ "KirchhoffLovePlateShellModel",
82
+ "ReissnerMindlinPlateShellModel",
83
+ "EulerBernoulliBeamModel",
84
+ "TimoshenkoBeamModel",
85
+ # Exception classes
66
86
  "SwiftCompLicenseError",
67
87
  "VABSLicenseError",
68
88
  "SwiftCompIOError",
@@ -0,0 +1,18 @@
1
+ import sys
2
+ import os
3
+
4
+ def main():
5
+ """Main entry point for the sgio command-line interface."""
6
+ # Get the directory containing this file
7
+ current_dir = os.path.dirname(os.path.abspath(__file__))
8
+ # Get the parent directory (where sgio package is)
9
+ parent_dir = os.path.dirname(current_dir)
10
+ # Add to sys.path if not already there
11
+ if parent_dir not in sys.path:
12
+ sys.path.insert(0, parent_dir)
13
+
14
+ from sgio.app import cli
15
+ cli(*sys.argv)
16
+
17
+ if __name__ == "__main__":
18
+ main()
@@ -0,0 +1 @@
1
+ __version__ = "0.2.14"
@@ -80,6 +80,11 @@ def cli(*args):
80
80
  parser.add_argument(
81
81
  '-tfv', '--to-format-version', type=str,
82
82
  help='CS/SG file format version to be written to')
83
+ parser.add_argument(
84
+ '-a', '--analysis', type=case_insensitive_string, default='h',
85
+ choices=['h', 'd', 'fi'],
86
+ help='Analysis type'
87
+ )
83
88
  parser.add_argument(
84
89
  '-d', '--sgdim', type=int, default=2,
85
90
  choices=[1, 2, 3],
@@ -147,6 +152,7 @@ def main(
147
152
  file_format_out=kwargs['to_format'],
148
153
  file_version_in=kwargs['from_format_version'],
149
154
  file_version_out=kwargs['to_format_version'],
155
+ analysis=kwargs['analysis'],
150
156
  sgdim=kwargs['sgdim'],
151
157
  model_space=kwargs['model_space'],
152
158
  prop_ref_y=kwargs['material_ref_y'],
@@ -167,6 +167,7 @@ def plot_2d_mesh(
167
167
  def plot_sg_2d(
168
168
  sg, model, ax,
169
169
  ec_mesh='0.5', fc_mesh='0.9', lw_mesh=0.2,
170
+ legend_kwards={},
170
171
  **kwargs):
171
172
  """
172
173
  Plot a 2D structure gene.
@@ -234,12 +235,18 @@ def plot_sg_2d(
234
235
 
235
236
 
236
237
  # Add a legend
237
- ax.legend(
238
- handlers, labels,
239
- ncols=5,
240
- bbox_to_anchor=(0.5, 1),
241
- loc='lower center',
242
- )
238
+ if legend_kwards:
239
+ ax.legend(
240
+ handlers, labels,
241
+ **legend_kwards
242
+ )
243
+ else:
244
+ ax.legend(
245
+ handlers, labels,
246
+ ncols=5,
247
+ bbox_to_anchor=(0.5, 1),
248
+ loc='lower center',
249
+ )
243
250
 
244
251
 
245
252
 
@@ -1,6 +0,0 @@
1
- import sys
2
-
3
- if __name__ == "__main__":
4
- from .app import cli
5
-
6
- cli(*sys.argv)
@@ -1 +0,0 @@
1
- __version__ = "0.2.12"
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