sprit 0.1.71.dev0__tar.gz → 0.1.73.dev0__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 (184) hide show
  1. {sprit-0.1.71.dev0/sprit.egg-info → sprit-0.1.73.dev0}/PKG-INFO +1 -1
  2. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/pyproject.toml +1 -1
  3. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/setup.py +1 -1
  4. sprit-0.1.73.dev0/sprit/resources/settings/gui_theme.json +1 -0
  5. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/sprit_cli.py +1 -0
  6. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/sprit_gui.py +138 -133
  7. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/sprit_hvsr.py +8180 -8022
  8. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/sprit_jupyter_UI.py +42 -25
  9. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0/sprit.egg-info}/PKG-INFO +1 -1
  10. sprit-0.1.71.dev0/sprit/resources/settings/gui_theme.json +0 -1
  11. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/LICENSE +0 -0
  12. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/README.md +0 -0
  13. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/setup.cfg +0 -0
  14. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/__init__.py +0 -0
  15. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/icon/sprit_icon.ico +0 -0
  16. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/icon/sprit_icon.png +0 -0
  17. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/icon/sprit_icon.xcf +0 -0
  18. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/icon/sprit_icon_alpha.ico +0 -0
  19. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/icon/sprit_icon_thickly.xcf +0 -0
  20. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/parameters.csv +0 -0
  21. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/rs3dv5plus_metadata.inv +0 -0
  22. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/rs3dv7_metadata.inv +0 -0
  23. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/Batch_SampleData.csv +0 -0
  24. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite1.hvsr +0 -0
  25. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite10_BNE_4_AM.RAC84.00.2023.191_2023-07-10_2237-2259.MSEED +0 -0
  26. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite1_AM.RAC84.00.2023.046_2023-02-15_1704-1734.MSEED +0 -0
  27. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite2_AM.RAC84.00.2023-02-15_2132-2200.MSEED +0 -0
  28. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite3_AM.RAC84.00.2023.199_2023-07-18_1432-1455.MSEED +0 -0
  29. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite4_AM.RAC84.00.2023.199_2023-07-18_1609-1629.MSEED +0 -0
  30. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite5_AM.RAC84.00.2023.199_2023-07-18_2039-2100.MSEED +0 -0
  31. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite6_AM.RAC84.00.2023.192_2023-07-11_1510-1528.MSEED +0 -0
  32. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite7_BNE_4_AM.RAC84.00.2023.191_2023-07-10_2237-2259.MSEED +0 -0
  33. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite8_BNE_6_AM.RAC84.00.2023.191_2023-07-10_1806-1825.MSEED +0 -0
  34. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/sample_data/SampleHVSRSite9_BNE-2_AM.RAC84.00.2023.192_2023-07-11_0000-0011.MSEED +0 -0
  35. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/settings/instrument_settings.inst +0 -0
  36. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/settings/processing_settings.proc +0 -0
  37. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/LICENSE +0 -0
  38. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/README.md +0 -0
  39. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/border-accent-hover.png +0 -0
  40. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/border-accent.png +0 -0
  41. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/border-basic.png +0 -0
  42. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/border-hover.png +0 -0
  43. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/border-invalid.png +0 -0
  44. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/card.png +0 -0
  45. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-accent.png +0 -0
  46. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-basic.png +0 -0
  47. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-hover.png +0 -0
  48. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-tri-accent.png +0 -0
  49. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-tri-basic.png +0 -0
  50. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-tri-hover.png +0 -0
  51. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-unsel-accent.png +0 -0
  52. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-unsel-basic.png +0 -0
  53. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-unsel-hover.png +0 -0
  54. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/check-unsel-pressed.png +0 -0
  55. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/combo-button-basic.png +0 -0
  56. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/combo-button-focus.png +0 -0
  57. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/combo-button-hover.png +0 -0
  58. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/down.png +0 -0
  59. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/empty.png +0 -0
  60. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/hor-accent.png +0 -0
  61. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/hor-basic.png +0 -0
  62. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/hor-hover.png +0 -0
  63. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/notebook.png +0 -0
  64. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/off-accent.png +0 -0
  65. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/off-basic.png +0 -0
  66. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/off-hover.png +0 -0
  67. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/on-accent.png +0 -0
  68. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/on-basic.png +0 -0
  69. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/on-hover.png +0 -0
  70. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-accent.png +0 -0
  71. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-basic.png +0 -0
  72. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-hover.png +0 -0
  73. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-tri-accent.png +0 -0
  74. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-tri-basic.png +0 -0
  75. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-tri-hover.png +0 -0
  76. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-unsel-accent.png +0 -0
  77. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-unsel-basic.png +0 -0
  78. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-unsel-hover.png +0 -0
  79. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/radio-unsel-pressed.png +0 -0
  80. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/rect-accent-hover.png +0 -0
  81. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/rect-accent.png +0 -0
  82. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/rect-basic.png +0 -0
  83. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/rect-hover.png +0 -0
  84. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/right.png +0 -0
  85. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/scale-hor.png +0 -0
  86. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/scale-vert.png +0 -0
  87. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/separator.png +0 -0
  88. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/sizegrip.png +0 -0
  89. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/spin-button-down-basic.png +0 -0
  90. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/spin-button-down-focus.png +0 -0
  91. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/spin-button-up.png +0 -0
  92. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/tab-accent.png +0 -0
  93. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/tab-basic.png +0 -0
  94. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/tab-hover.png +0 -0
  95. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/thumb-hor-accent.png +0 -0
  96. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/thumb-hor-basic.png +0 -0
  97. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/thumb-hor-hover.png +0 -0
  98. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/thumb-vert-accent.png +0 -0
  99. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/thumb-vert-basic.png +0 -0
  100. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/thumb-vert-hover.png +0 -0
  101. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/tree-basic.png +0 -0
  102. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/tree-pressed.png +0 -0
  103. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/up.png +0 -0
  104. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/vert-accent.png +0 -0
  105. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/vert-basic.png +0 -0
  106. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark/vert-hover.png +0 -0
  107. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-dark.tcl +0 -0
  108. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/border-accent-hover.png +0 -0
  109. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/border-accent.png +0 -0
  110. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/border-basic.png +0 -0
  111. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/border-hover.png +0 -0
  112. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/border-invalid.png +0 -0
  113. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/card.png +0 -0
  114. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-accent.png +0 -0
  115. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-basic.png +0 -0
  116. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-hover.png +0 -0
  117. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-tri-accent.png +0 -0
  118. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-tri-basic.png +0 -0
  119. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-tri-hover.png +0 -0
  120. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-unsel-accent.png +0 -0
  121. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-unsel-basic.png +0 -0
  122. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-unsel-hover.png +0 -0
  123. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/check-unsel-pressed.png +0 -0
  124. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/combo-button-basic.png +0 -0
  125. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/combo-button-focus.png +0 -0
  126. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/combo-button-hover.png +0 -0
  127. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/down-focus.png +0 -0
  128. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/down.png +0 -0
  129. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/empty.png +0 -0
  130. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/hor-accent.png +0 -0
  131. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/hor-basic.png +0 -0
  132. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/hor-hover.png +0 -0
  133. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/notebook.png +0 -0
  134. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/off-accent.png +0 -0
  135. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/off-basic.png +0 -0
  136. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/off-hover.png +0 -0
  137. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/on-accent.png +0 -0
  138. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/on-basic.png +0 -0
  139. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/on-hover.png +0 -0
  140. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-accent.png +0 -0
  141. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-basic.png +0 -0
  142. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-hover.png +0 -0
  143. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-tri-accent.png +0 -0
  144. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-tri-basic.png +0 -0
  145. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-tri-hover.png +0 -0
  146. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-unsel-accent.png +0 -0
  147. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-unsel-basic.png +0 -0
  148. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-unsel-hover.png +0 -0
  149. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/radio-unsel-pressed.png +0 -0
  150. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/rect-accent-hover.png +0 -0
  151. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/rect-accent.png +0 -0
  152. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/rect-basic.png +0 -0
  153. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/rect-hover.png +0 -0
  154. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/right-focus.png +0 -0
  155. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/right.png +0 -0
  156. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/scale-hor.png +0 -0
  157. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/scale-vert.png +0 -0
  158. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/separator.png +0 -0
  159. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/sizegrip.png +0 -0
  160. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/spin-button-down-basic.png +0 -0
  161. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/spin-button-down-focus.png +0 -0
  162. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/spin-button-up.png +0 -0
  163. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/tab-accent.png +0 -0
  164. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/tab-basic.png +0 -0
  165. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/tab-hover.png +0 -0
  166. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/thumb-hor-accent.png +0 -0
  167. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/thumb-hor-basic.png +0 -0
  168. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/thumb-hor-hover.png +0 -0
  169. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/thumb-vert-accent.png +0 -0
  170. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/thumb-vert-basic.png +0 -0
  171. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/thumb-vert-hover.png +0 -0
  172. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/tree-basic.png +0 -0
  173. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/tree-pressed.png +0 -0
  174. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/up.png +0 -0
  175. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/vert-accent.png +0 -0
  176. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/vert-basic.png +0 -0
  177. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light/vert-hover.png +0 -0
  178. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/resources/themes/forest-light.tcl +0 -0
  179. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit/sprit_utils.py +0 -0
  180. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit.egg-info/SOURCES.txt +0 -0
  181. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit.egg-info/dependency_links.txt +0 -0
  182. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit.egg-info/entry_points.txt +0 -0
  183. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit.egg-info/requires.txt +0 -0
  184. {sprit-0.1.71.dev0 → sprit-0.1.73.dev0}/sprit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sprit
3
- Version: 0.1.71.dev0
3
+ Version: 0.1.73.dev0
4
4
  Summary: A package for processing and analyzing HVSR (Horizontal to Vertical Spectral Ratio) data
5
5
  Author: Riley Balikian, Hongyu Xaio
6
6
  Author-email: balikian@illinois.edu
@@ -7,7 +7,7 @@ name = "sprit"
7
7
  authors = [{name="Riley Balikian"}, {name="Hongyu Xaio"}]
8
8
  dynamic = ["readme"]
9
9
  license = {file = "LICENSE"}
10
- version="0.1.71-dev"
10
+ version="0.1.73-dev"
11
11
  description = "A package for processing and analyzing HVSR (Horizontal to Vertical Spectral Ratio) data"
12
12
  keywords = ["HVSR", "seismic", "horizontal to vertical spectral ratio", "obspy", 'geology', 'geophysics', 'geotechnical']
13
13
  requires-python = ">=3.9"
@@ -7,7 +7,7 @@ setup(
7
7
  name="sprit",
8
8
  author= "Riley Balikian",
9
9
  author_email = "balikian@illinois.edu",
10
- version="0.1.71-dev",
10
+ version="0.1.73-dev",
11
11
  package_data={'sprit': ['resources/*', 'resources/icon/*', 'resources/themes/*', 'resources/themes/forest-dark/*',
12
12
  'resources/themes/forest-light/*', 'resources/sample_data/*','resources/settings/*']},
13
13
  long_description_content_type="text/markdown",
@@ -0,0 +1 @@
1
+ {"theme_name": "forest-dark"}
@@ -41,6 +41,7 @@ def main():
41
41
  sprit.remove_noise,
42
42
  sprit.generate_ppsds,
43
43
  sprit.process_hvsr,
44
+ sprit.remove_outlier_curves,
44
45
  sprit.check_peaks,
45
46
  sprit.get_report,
46
47
  sprit.plot_hvsr]
@@ -36,6 +36,7 @@ except: #For local testing
36
36
 
37
37
  global spritApp
38
38
  global current_theme_name
39
+ global SPRIT_App
39
40
 
40
41
  resource_dir = pathlib.Path(pkg_resources.resource_filename(__name__, 'resources/'))
41
42
  settings_dir = resource_dir.joinpath('settings')
@@ -44,109 +45,6 @@ with open(gui_theme_file, 'r') as f:
44
45
  curr_gui_dict = json.load(f)
45
46
  current_theme_name = curr_gui_dict['theme_name']
46
47
 
47
- #Decorator that catches errors and warnings (to be modified later for gui)
48
- def catch_errors(func):
49
- #Define a local function to get a list of warnings that we'll use in the output
50
- def get_warning_msg_list(w):
51
- messageList = []
52
- #Collect warnings that happened before we got to the error
53
- if w:
54
- hasWarnings = True
55
- for wi in w:
56
- warning_category = type(wi.message).__name__.title().replace('warning','Warning')
57
- #if w.line is None:
58
- # w.line = linecache.getline(wi.filename, wi.lineno)
59
- warning_lineNo = wi.lineno
60
- warning_message = str(wi.message)
61
- # append the warning category and message to messageList so we get all warnings
62
- messageList.append(f'{warning_category} ({warning_lineNo}): {warning_message}')
63
- return messageList
64
-
65
- # use functools.wraps to preserve the original function's metadata
66
- @functools.wraps(func)
67
- def wrapper(*args, **kwargs):
68
- result = None
69
- # use the global keyword to access the error_message and error_category variables
70
- global error_message
71
- global error_category
72
-
73
- messageList = []
74
- hasWarnings = False
75
- # use a try-except block to catch any exceptions
76
- #result = func(*args, **kwargs)
77
- try:
78
- # use a context manager to catch any warnings
79
- with warnings.catch_warnings(record=True) as w:
80
- warnings.simplefilter('always')
81
- # call the original function with the given arguments
82
- result = func(*args, **kwargs)
83
-
84
- #Get message list, [] if no messages, doesn't run at all if Error/exception in func
85
- messageList = get_warning_msg_list(w)
86
- if messageList == []:
87
- return result
88
- else:
89
- warningMessage = "WARNING:"
90
- for msg in messageList:
91
- warningMessage = "\n {}".format(msg)
92
-
93
- messagebox.showwarning(title='WARNINGS', message=warningMessage)
94
-
95
- except Exception as e:
96
- messageList = get_warning_msg_list(w)
97
- errorObj = sys.exc_info()[2]
98
-
99
- mainErrText = sys.exc_info()[1]
100
-
101
- mainErrTb = traceback.extract_tb(sys.exc_info()[2])[-1]
102
- mainErrFilePath = pathlib.Path(mainErrTb[0])
103
-
104
- mainErrFileName = mainErrFilePath.stem
105
- mainErrLineNo = mainErrTb[1]
106
- mainErrFunc = mainErrTb[2]
107
- mainErrCodeLine = mainErrTb[3]
108
-
109
- errLineNo1 = str(traceback.extract_tb(sys.exc_info()[2])[-1].lineno)
110
- error_category = type(e).__name__.title().replace('error', 'Error')
111
- error_message = f"{e} ({errLineNo1})"
112
-
113
- #Get message list, [] if no messages, doesn't run at all if Error/exception in func
114
- warningMessageList = get_warning_msg_list(w)
115
-
116
- #Build error messages
117
- tbTuple0 = sys.exc_info()[0]
118
- tbTuple1 = sys.exc_info()[1]
119
- tbTuple2 = traceback.extract_tb(sys.exc_info()[2])
120
-
121
- logMsg = f"**ERROR**\n{tbTuple0.__name__}: {tbTuple1}"
122
- dialogErrMsg = logMsg.split(':')[1]
123
- for tb in tbTuple2:
124
- logMsg = logMsg + '\n\t'
125
- logMsg = logMsg + f"{pathlib.Path(tb[0]).stem}.{tb[2]}(): {tb[3]} (Line {tb[1]})"
126
- dialogErrMsg = dialogErrMsg + f"\n{pathlib.Path(tb[0]).stem}.{tb[2]}(), Line {tb[1]}"
127
- logMsg = logMsg + '\n\n'
128
-
129
- #fullErrorMessage = f'ERROR {mainErrFileName}.{mainErrFunc} ({mainErrLineNo}): {mainErrText} \n\n {mainErrFileName} Line {mainErrLineNo}: {mainErrCodeLine}.'
130
- if messageList == []:
131
- pass
132
- else:
133
- dialogErrMsg = dialogErrMsg+"\n\n Additional Warnings along the way. See Log for more information."
134
- logMsg = logMsg + "\n\n\t *WARNING(S)*\n\tAdditional Warnings along the way:"
135
- for addMsg in warningMessageList:
136
- logMsg = logMsg+"\n\t\t{}".format(addMsg)
137
-
138
-
139
- SPRIT_App.log_errorMsg(spritApp, logMsg)
140
-
141
- messagebox.showerror(title=f'ERROR ({error_category})',
142
- message=dialogErrMsg)
143
- update_progress_bars(100)
144
-
145
- # return the result of the function or the error/warning messages and categories
146
- return result
147
- # return the wrapper function
148
- return wrapper
149
-
150
48
  class SPRIT_App:
151
49
  global spritApp
152
50
  def __init__(self, master):
@@ -493,51 +391,51 @@ class SPRIT_App:
493
391
  self.tab_control.select(self.preview_data_tab)
494
392
  return self.hvsr_data
495
393
 
496
- def report_results(hvsr_results):
497
- self.curveTest1ResultText.configure(text=hvsr_results['BestPeak']['Report']['Lw'][:-1])
498
- self.curveTest1Result.configure(text=hvsr_results['BestPeak']['Report']['Lw'][-1])
394
+ def report_results(hvsr_results, azimuth='HV'):
395
+ self.curveTest1ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Lw'][:-1])
396
+ self.curveTest1Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Lw'][-1])
499
397
 
500
- self.curveTest2ResultText.configure(text=hvsr_results['BestPeak']['Report']['Nc'][:-1])
501
- self.curveTest2Result.configure(text=hvsr_results['BestPeak']['Report']['Nc'][-1])
398
+ self.curveTest2ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Nc'][:-1])
399
+ self.curveTest2Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Nc'][-1])
502
400
 
503
- self.curveTest3ResultText.configure(text=hvsr_results['BestPeak']['Report']['σ_A(f)'][:-1])
504
- self.curveTest3Result.configure(text=hvsr_results['BestPeak']['Report']['σ_A(f)'][-1])
401
+ self.curveTest3ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['σ_A(f)'][:-1])
402
+ self.curveTest3Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['σ_A(f)'][-1])
505
403
 
506
- curvePass = (hvsr_results['BestPeak']['PassList']['WindowLengthFreq.'] +
507
- hvsr_results['BestPeak']['PassList']['SignificantCycles']+
508
- hvsr_results['BestPeak']['PassList']['LowCurveStDevOverTime']) > 2
404
+ curvePass = (hvsr_results['BestPeak'][azimuth]['PassList']['WindowLengthFreq.'] +
405
+ hvsr_results['BestPeak'][azimuth]['PassList']['SignificantCycles']+
406
+ hvsr_results['BestPeak'][azimuth]['PassList']['LowCurveStDevOverTime']) > 2
509
407
  if curvePass:
510
408
  self.totalCurveResult.configure(text=sprit_utils.check_mark(), font=("TkDefaultFont", 16, "bold"), foreground='green')
511
409
  else:
512
410
  self.totalCurveResult.configure(text=sprit_utils.x_mark(), font=("TkDefaultFont", 16, "bold"), foreground='red')
513
411
 
514
- self.peakTest1ResultText.configure(text=hvsr_results['BestPeak']['Report']['A(f-)'][:-1])
515
- self.peakTest1Result.configure(text=hvsr_results['BestPeak']['Report']['A(f-)'][-1])
412
+ self.peakTest1ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['A(f-)'][:-1])
413
+ self.peakTest1Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['A(f-)'][-1])
516
414
 
517
- self.peakTest2ResultText.configure(text=hvsr_results['BestPeak']['Report']['A(f+)'][:-1])
518
- self.peakTest2Result.configure(text=hvsr_results['BestPeak']['Report']['A(f+)'][-1])
415
+ self.peakTest2ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['A(f+)'][:-1])
416
+ self.peakTest2Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['A(f+)'][-1])
519
417
 
520
- self.peakTest3ResultText.configure(text=hvsr_results['BestPeak']['Report']['A0'][:-1])
521
- self.peakTest3Result.configure(text=hvsr_results['BestPeak']['Report']['A0'][-1])
418
+ self.peakTest3ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['A0'][:-1])
419
+ self.peakTest3Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['A0'][-1])
522
420
 
523
- self.peakTest4ResultText.configure(text=hvsr_results['BestPeak']['Report']['P-'][:5] + ' and ' +hvsr_results['BestPeak']['Report']['P+'][:-1])
524
- if hvsr_results['BestPeak']['PassList']['FreqStability']:
421
+ self.peakTest4ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['P-'][:5] + ' and ' +hvsr_results['BestPeak'][azimuth]['Report']['P+'][:-1])
422
+ if hvsr_results['BestPeak'][azimuth]['PassList']['FreqStability']:
525
423
  self.peakTest4Result.configure(text=sprit_utils.check_mark())
526
424
  else:
527
425
  self.peakTest4Result.configure(text=sprit_utils.x_mark())
528
426
 
529
- self.peakTest5ResultText.configure(text=hvsr_results['BestPeak']['Report']['Sf'][:-1])
530
- self.peakTest5Result.configure(text=hvsr_results['BestPeak']['Report']['Sf'][-1])
427
+ self.peakTest5ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Sf'][:-1])
428
+ self.peakTest5Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Sf'][-1])
531
429
 
532
- self.peakTest6ResultText.configure(text=hvsr_results['BestPeak']['Report']['Sa'][:-1])
533
- self.peakTest6Result.configure(text=hvsr_results['BestPeak']['Report']['Sa'][-1])
534
-
535
- peakPass = (hvsr_results['BestPeak']['PassList']['PeakProminenceBelow'] +
536
- hvsr_results['BestPeak']['PassList']['PeakProminenceAbove']+
537
- hvsr_results['BestPeak']['PassList']['PeakAmpClarity']+
538
- hvsr_results['BestPeak']['PassList']['FreqStability']+
539
- hvsr_results['BestPeak']['PassList']['PeakStability_FreqStD']+
540
- hvsr_results['BestPeak']['PassList']['PeakStability_AmpStD']) >= 5
430
+ self.peakTest6ResultText.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Sa'][:-1])
431
+ self.peakTest6Result.configure(text=hvsr_results['BestPeak'][azimuth]['Report']['Sa'][-1])
432
+
433
+ peakPass = (hvsr_results['BestPeak'][azimuth]['PassList']['PeakProminenceBelow'] +
434
+ hvsr_results['BestPeak'][azimuth]['PassList']['PeakProminenceAbove']+
435
+ hvsr_results['BestPeak'][azimuth]['PassList']['PeakAmpClarity']+
436
+ hvsr_results['BestPeak'][azimuth]['PassList']['FreqStability']+
437
+ hvsr_results['BestPeak'][azimuth]['PassList']['PeakStability_FreqStD']+
438
+ hvsr_results['BestPeak'][azimuth]['PassList']['PeakStability_AmpStD']) >= 5
541
439
  if peakPass:
542
440
  self.totalPeakResult.configure(text=sprit_utils.check_mark(), font=("TkDefaultFont", 16, "bold"), foreground='green')
543
441
  else:
@@ -598,7 +496,7 @@ class SPRIT_App:
598
496
  rmse_thresh=98,
599
497
  use_percentile=True,
600
498
  use_hv_curve = False,
601
- show_plot = False)
499
+ show_outlier_plot = False)
602
500
  update_progress_bars(prog_percent=60)
603
501
 
604
502
  self.log_text.insert('end', f"{self.procHVSR_call['text']}\n\n")
@@ -3085,6 +2983,113 @@ class SPRIT_App:
3085
2983
  # Pack tab control
3086
2984
  self.tab_control.pack(expand=True, fill="both")
3087
2985
 
2986
+
2987
+ #Decorator that catches errors and warnings (to be modified later for gui)
2988
+ def catch_errors(func):
2989
+ global spritApp
2990
+
2991
+ #Define a local function to get a list of warnings that we'll use in the output
2992
+ def get_warning_msg_list(w):
2993
+ messageList = []
2994
+ #Collect warnings that happened before we got to the error
2995
+ if w:
2996
+ hasWarnings = True
2997
+ for wi in w:
2998
+ warning_category = type(wi.message).__name__.title().replace('warning','Warning')
2999
+ #if w.line is None:
3000
+ # w.line = linecache.getline(wi.filename, wi.lineno)
3001
+ warning_lineNo = wi.lineno
3002
+ warning_message = str(wi.message)
3003
+ # append the warning category and message to messageList so we get all warnings
3004
+ messageList.append(f'{warning_category} ({warning_lineNo}): {warning_message}')
3005
+ return messageList
3006
+
3007
+ # use functools.wraps to preserve the original function's metadata
3008
+ @functools.wraps(func)
3009
+ def wrapper(*args, **kwargs):
3010
+ result = None
3011
+ # use the global keyword to access the error_message and error_category variables
3012
+ global error_message
3013
+ global error_category
3014
+ global spritApp
3015
+
3016
+ messageList = []
3017
+ hasWarnings = False
3018
+ # use a try-except block to catch any exceptions
3019
+ #result = func(*args, **kwargs)
3020
+ try:
3021
+ # use a context manager to catch any warnings
3022
+ with warnings.catch_warnings(record=True) as w:
3023
+ warnings.simplefilter('always')
3024
+ # call the original function with the given arguments
3025
+ result = func(*args, **kwargs)
3026
+
3027
+ #Get message list, [] if no messages, doesn't run at all if Error/exception in func
3028
+ messageList = get_warning_msg_list(w)
3029
+ if messageList == []:
3030
+ return result
3031
+ else:
3032
+ warningMessage = "WARNING:"
3033
+ for msg in messageList:
3034
+ warningMessage = "\n {}".format(msg)
3035
+
3036
+ messagebox.showwarning(title='WARNINGS', message=warningMessage)
3037
+
3038
+ except Exception as e:
3039
+ messageList = get_warning_msg_list(w)
3040
+ errorObj = sys.exc_info()[2]
3041
+
3042
+ mainErrText = sys.exc_info()[1]
3043
+
3044
+ mainErrTb = traceback.extract_tb(sys.exc_info()[2])[-1]
3045
+ mainErrFilePath = pathlib.Path(mainErrTb[0])
3046
+
3047
+ mainErrFileName = mainErrFilePath.stem
3048
+ mainErrLineNo = mainErrTb[1]
3049
+ mainErrFunc = mainErrTb[2]
3050
+ mainErrCodeLine = mainErrTb[3]
3051
+
3052
+ errLineNo1 = str(traceback.extract_tb(sys.exc_info()[2])[-1].lineno)
3053
+ error_category = type(e).__name__.title().replace('error', 'Error')
3054
+ error_message = f"{e} ({errLineNo1})"
3055
+
3056
+ #Get message list, [] if no messages, doesn't run at all if Error/exception in func
3057
+ warningMessageList = get_warning_msg_list(w)
3058
+
3059
+ #Build error messages
3060
+ tbTuple0 = sys.exc_info()[0]
3061
+ tbTuple1 = sys.exc_info()[1]
3062
+ tbTuple2 = traceback.extract_tb(sys.exc_info()[2])
3063
+
3064
+ logMsg = f"**ERROR**\n{tbTuple0.__name__}: {tbTuple1}"
3065
+ dialogErrMsg = logMsg.split(':')[1]
3066
+ for tb in tbTuple2:
3067
+ logMsg = logMsg + '\n\t'
3068
+ logMsg = logMsg + f"{pathlib.Path(tb[0]).stem}.{tb[2]}(): {tb[3]} (Line {tb[1]})"
3069
+ dialogErrMsg = dialogErrMsg + f"\n{pathlib.Path(tb[0]).stem}.{tb[2]}(), Line {tb[1]}"
3070
+ logMsg = logMsg + '\n\n'
3071
+
3072
+ #fullErrorMessage = f'ERROR {mainErrFileName}.{mainErrFunc} ({mainErrLineNo}): {mainErrText} \n\n {mainErrFileName} Line {mainErrLineNo}: {mainErrCodeLine}.'
3073
+ if messageList == []:
3074
+ pass
3075
+ else:
3076
+ dialogErrMsg = dialogErrMsg+"\n\n Additional Warnings along the way. See Log for more information."
3077
+ logMsg = logMsg + "\n\n\t *WARNING(S)*\n\tAdditional Warnings along the way:"
3078
+ for addMsg in warningMessageList:
3079
+ logMsg = logMsg+"\n\t\t{}".format(addMsg)
3080
+
3081
+
3082
+ SPRIT_App.log_errorMsg(spritApp, logMsg)
3083
+
3084
+ messagebox.showerror(title=f'ERROR ({error_category})',
3085
+ message=dialogErrMsg)
3086
+ update_progress_bars(100)
3087
+
3088
+ # return the result of the function or the error/warning messages and categories
3089
+ return result
3090
+ # return the wrapper function
3091
+ return wrapper
3092
+
3088
3093
  def on_closing():
3089
3094
  plt.close('all')
3090
3095
  root.destroy()