gea-program 0.64.0__tar.gz → 0.66.0__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 (377) hide show
  1. {gea_program-0.64.0/gea_program.egg-info → gea_program-0.66.0}/PKG-INFO +30 -2
  2. {gea_program-0.64.0 → gea_program-0.66.0}/README.md +29 -1
  3. {gea_program-0.64.0 → gea_program-0.66.0}/gea/__init__.py +1 -1
  4. {gea_program-0.64.0 → gea_program-0.66.0}/gea/__main__.py +20 -0
  5. {gea_program-0.64.0 → gea_program-0.66.0}/gea/acceptance_tests.py +463 -1
  6. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/IT_SECURITY.md +27 -1
  7. gea_program-0.66.0/gea/help/install.md +21 -0
  8. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/site.md +1 -1
  9. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/start.md +1 -1
  10. {gea_program-0.64.0 → gea_program-0.66.0}/gea/helplib.py +1 -0
  11. gea_program-0.66.0/gea/icon.py +126 -0
  12. gea_program-0.66.0/gea/launcher.py +453 -0
  13. {gea_program-0.64.0 → gea_program-0.66.0}/gea/service.py +18 -2
  14. gea_program-0.66.0/gea/tray.py +381 -0
  15. {gea_program-0.64.0 → gea_program-0.66.0}/gea/web/app.html +4 -4
  16. {gea_program-0.64.0 → gea_program-0.66.0/gea_program.egg-info}/PKG-INFO +30 -2
  17. {gea_program-0.64.0 → gea_program-0.66.0}/gea_program.egg-info/SOURCES.txt +4 -0
  18. {gea_program-0.64.0 → gea_program-0.66.0}/pyproject.toml +1 -1
  19. {gea_program-0.64.0 → gea_program-0.66.0}/LICENSE +0 -0
  20. {gea_program-0.64.0 → gea_program-0.66.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
  21. {gea_program-0.64.0 → gea_program-0.66.0}/gea/accuracy_statement.py +0 -0
  22. {gea_program-0.64.0 → gea_program-0.66.0}/gea/alarm_engine.py +0 -0
  23. {gea_program-0.64.0 → gea_program-0.66.0}/gea/alerts.py +0 -0
  24. {gea_program-0.64.0 → gea_program-0.66.0}/gea/backup.py +0 -0
  25. {gea_program-0.64.0 → gea_program-0.66.0}/gea/bench.py +0 -0
  26. {gea_program-0.64.0 → gea_program-0.66.0}/gea/blind_harness.py +0 -0
  27. {gea_program-0.64.0 → gea_program-0.66.0}/gea/casing_design.py +0 -0
  28. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
  29. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
  30. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
  31. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
  32. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
  33. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
  34. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
  35. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
  36. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
  37. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
  38. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
  39. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
  40. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
  41. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
  42. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
  43. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
  44. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
  45. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
  46. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
  47. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
  48. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
  49. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
  50. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
  51. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
  52. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
  53. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
  54. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
  55. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
  56. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
  57. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
  58. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
  59. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
  60. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
  61. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
  62. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
  63. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
  64. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
  65. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
  66. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
  67. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
  68. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
  69. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
  70. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
  71. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
  72. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
  73. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
  74. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
  75. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
  76. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
  77. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
  78. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
  79. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
  80. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
  81. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
  82. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
  83. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
  84. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
  85. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
  86. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
  87. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
  88. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
  89. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
  90. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
  91. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
  92. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
  93. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
  94. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/med_160_sapropels.provenance.json +0 -0
  95. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/med_160_sapropels.txt +0 -0
  96. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
  97. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
  98. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
  99. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
  100. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
  101. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
  102. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
  103. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
  104. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
  105. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
  106. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
  107. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
  108. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
  109. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
  110. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
  111. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
  112. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
  113. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
  114. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
  115. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
  116. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
  117. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
  118. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
  119. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
  120. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
  121. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
  122. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
  123. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
  124. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
  125. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
  126. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
  127. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
  128. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
  129. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
  130. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
  131. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
  132. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog_map.py +0 -0
  133. {gea_program-0.64.0 → gea_program-0.66.0}/gea/catalog_register.py +0 -0
  134. {gea_program-0.64.0 → gea_program-0.66.0}/gea/certificates.py +0 -0
  135. {gea_program-0.64.0 → gea_program-0.66.0}/gea/cli.py +0 -0
  136. {gea_program-0.64.0 → gea_program-0.66.0}/gea/client_reports.py +0 -0
  137. {gea_program-0.64.0 → gea_program-0.66.0}/gea/collision.py +0 -0
  138. {gea_program-0.64.0 → gea_program-0.66.0}/gea/config_versioning.py +0 -0
  139. {gea_program-0.64.0 → gea_program-0.66.0}/gea/conformance.py +0 -0
  140. {gea_program-0.64.0 → gea_program-0.66.0}/gea/control_room.py +0 -0
  141. {gea_program-0.64.0 → gea_program-0.66.0}/gea/correlation.py +0 -0
  142. {gea_program-0.64.0 → gea_program-0.66.0}/gea/dashboard.py +0 -0
  143. {gea_program-0.64.0 → gea_program-0.66.0}/gea/declarations.py +0 -0
  144. {gea_program-0.64.0 → gea_program-0.66.0}/gea/decline.py +0 -0
  145. {gea_program-0.64.0 → gea_program-0.66.0}/gea/deviation.py +0 -0
  146. {gea_program-0.64.0 → gea_program-0.66.0}/gea/dlis.py +0 -0
  147. {gea_program-0.64.0 → gea_program-0.66.0}/gea/dnp3.py +0 -0
  148. {gea_program-0.64.0 → gea_program-0.66.0}/gea/doctor.py +0 -0
  149. {gea_program-0.64.0 → gea_program-0.66.0}/gea/dossier.py +0 -0
  150. {gea_program-0.64.0 → gea_program-0.66.0}/gea/dossier_verify.py +0 -0
  151. {gea_program-0.64.0 → gea_program-0.66.0}/gea/downhole_engine.py +0 -0
  152. {gea_program-0.64.0 → gea_program-0.66.0}/gea/drift_monitor.py +0 -0
  153. {gea_program-0.64.0 → gea_program-0.66.0}/gea/drill_string.py +0 -0
  154. {gea_program-0.64.0 → gea_program-0.66.0}/gea/earth_model.py +0 -0
  155. {gea_program-0.64.0 → gea_program-0.66.0}/gea/economics.py +0 -0
  156. {gea_program-0.64.0 → gea_program-0.66.0}/gea/ed25519.py +0 -0
  157. {gea_program-0.64.0 → gea_program-0.66.0}/gea/edr.py +0 -0
  158. {gea_program-0.64.0 → gea_program-0.66.0}/gea/elevation.py +0 -0
  159. {gea_program-0.64.0 → gea_program-0.66.0}/gea/etp.py +0 -0
  160. {gea_program-0.64.0 → gea_program-0.66.0}/gea/etp12_schemas.json +0 -0
  161. {gea_program-0.64.0 → gea_program-0.66.0}/gea/example_register_map.json +0 -0
  162. {gea_program-0.64.0 → gea_program-0.66.0}/gea/fat_sat.py +0 -0
  163. {gea_program-0.64.0 → gea_program-0.66.0}/gea/files.py +0 -0
  164. {gea_program-0.64.0 → gea_program-0.66.0}/gea/fixtures/README.md +0 -0
  165. {gea_program-0.64.0 → gea_program-0.66.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
  166. {gea_program-0.64.0 → gea_program-0.66.0}/gea/fixtures/comcat_mahoning_1990-2026.txt +0 -0
  167. {gea_program-0.64.0 → gea_program-0.66.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
  168. {gea_program-0.64.0 → gea_program-0.66.0}/gea/fixtures/ne_110m_coastline.json +0 -0
  169. {gea_program-0.64.0 → gea_program-0.66.0}/gea/follower.py +0 -0
  170. {gea_program-0.64.0 → gea_program-0.66.0}/gea/forward_model.py +0 -0
  171. {gea_program-0.64.0 → gea_program-0.66.0}/gea/frac_hits.py +0 -0
  172. {gea_program-0.64.0 → gea_program-0.66.0}/gea/friction_priors.py +0 -0
  173. {gea_program-0.64.0 → gea_program-0.66.0}/gea/gamma.py +0 -0
  174. {gea_program-0.64.0 → gea_program-0.66.0}/gea/gauge_aging.py +0 -0
  175. {gea_program-0.64.0 → gea_program-0.66.0}/gea/gauge_specs.py +0 -0
  176. {gea_program-0.64.0 → gea_program-0.66.0}/gea/geodesy.py +0 -0
  177. {gea_program-0.64.0 → gea_program-0.66.0}/gea/geomag.py +0 -0
  178. {gea_program-0.64.0 → gea_program-0.66.0}/gea/gravity_reference.py +0 -0
  179. {gea_program-0.64.0 → gea_program-0.66.0}/gea/hartip.py +0 -0
  180. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/TESTER_GUIDE.md +0 -0
  181. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/alarms.md +0 -0
  182. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/alerts.md +0 -0
  183. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/audit-update.md +0 -0
  184. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/backup.md +0 -0
  185. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/casing.md +0 -0
  186. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/catalog.md +0 -0
  187. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/charts.md +0 -0
  188. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/collision.md +0 -0
  189. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/company-sign-in.md +0 -0
  190. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/conformance.md +0 -0
  191. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/control-room.md +0 -0
  192. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/data-in.md +0 -0
  193. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/declare.md +0 -0
  194. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/decline.md +0 -0
  195. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/dlis.md +0 -0
  196. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/doctor.md +0 -0
  197. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/dossier.md +0 -0
  198. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/drift.md +0 -0
  199. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/drillstring.md +0 -0
  200. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/economics.md +0 -0
  201. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/edr.md +0 -0
  202. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/etp.md +0 -0
  203. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/field-ports.md +0 -0
  204. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/files.md +0 -0
  205. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/frac-hits.md +0 -0
  206. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/historian.md +0 -0
  207. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/https.md +0 -0
  208. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/hydraulics.md +0 -0
  209. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/instruments.md +0 -0
  210. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/interval.md +0 -0
  211. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/invoice-check.md +0 -0
  212. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/map.md +0 -0
  213. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/month-end.md +0 -0
  214. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/notifications.md +0 -0
  215. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/opseis.md +0 -0
  216. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/osdu.md +0 -0
  217. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/pad-summary.md +0 -0
  218. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/patches.md +0 -0
  219. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/penetrator.md +0 -0
  220. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/plan.md +0 -0
  221. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/pore-pressure.md +0 -0
  222. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/ppdm.md +0 -0
  223. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/quakeml.md +0 -0
  224. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/quality.md +0 -0
  225. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/report-history.md +0 -0
  226. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/rig-time.md +0 -0
  227. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/seedlink.md +0 -0
  228. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/seismic.md +0 -0
  229. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/setup.md +0 -0
  230. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/simulation.md +0 -0
  231. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/sites.md +0 -0
  232. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/slip.md +0 -0
  233. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/soak.md +0 -0
  234. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/sra.md +0 -0
  235. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/structure.md +0 -0
  236. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/tools.md +0 -0
  237. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/torque-drag.md +0 -0
  238. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/transients.md +0 -0
  239. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/upkeep.md +0 -0
  240. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/vibration.md +0 -0
  241. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/well-report.md +0 -0
  242. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/well-tests.md +0 -0
  243. {gea_program-0.64.0 → gea_program-0.66.0}/gea/help/well3d.md +0 -0
  244. {gea_program-0.64.0 → gea_program-0.66.0}/gea/housekeeping.py +0 -0
  245. {gea_program-0.64.0 → gea_program-0.66.0}/gea/hydraulics.py +0 -0
  246. {gea_program-0.64.0 → gea_program-0.66.0}/gea/interval.py +0 -0
  247. {gea_program-0.64.0 → gea_program-0.66.0}/gea/inverse_engine.py +0 -0
  248. {gea_program-0.64.0 → gea_program-0.66.0}/gea/invoice_check.py +0 -0
  249. {gea_program-0.64.0 → gea_program-0.66.0}/gea/jobs.py +0 -0
  250. {gea_program-0.64.0 → gea_program-0.66.0}/gea/live_ports.py +0 -0
  251. {gea_program-0.64.0 → gea_program-0.66.0}/gea/loadtest.py +0 -0
  252. {gea_program-0.64.0 → gea_program-0.66.0}/gea/matplotlib_demo.py +0 -0
  253. {gea_program-0.64.0 → gea_program-0.66.0}/gea/modbus.py +0 -0
  254. {gea_program-0.64.0 → gea_program-0.66.0}/gea/modbus_rtu.py +0 -0
  255. {gea_program-0.64.0 → gea_program-0.66.0}/gea/model_card.py +0 -0
  256. {gea_program-0.64.0 → gea_program-0.66.0}/gea/month_end.py +0 -0
  257. {gea_program-0.64.0 → gea_program-0.66.0}/gea/mqtt_port.py +0 -0
  258. {gea_program-0.64.0 → gea_program-0.66.0}/gea/notify.py +0 -0
  259. {gea_program-0.64.0 → gea_program-0.66.0}/gea/oidc.py +0 -0
  260. {gea_program-0.64.0 → gea_program-0.66.0}/gea/oidc_mock.py +0 -0
  261. {gea_program-0.64.0 → gea_program-0.66.0}/gea/op_seismicity.py +0 -0
  262. {gea_program-0.64.0 → gea_program-0.66.0}/gea/opcua_port.py +0 -0
  263. {gea_program-0.64.0 → gea_program-0.66.0}/gea/operator_app.py +0 -0
  264. {gea_program-0.64.0 → gea_program-0.66.0}/gea/osdu.py +0 -0
  265. {gea_program-0.64.0 → gea_program-0.66.0}/gea/pad_summary.py +0 -0
  266. {gea_program-0.64.0 → gea_program-0.66.0}/gea/patches.py +0 -0
  267. {gea_program-0.64.0 → gea_program-0.66.0}/gea/pdf_report.py +0 -0
  268. {gea_program-0.64.0 → gea_program-0.66.0}/gea/penetrator.py +0 -0
  269. {gea_program-0.64.0 → gea_program-0.66.0}/gea/permits.py +0 -0
  270. {gea_program-0.64.0 → gea_program-0.66.0}/gea/piwebapi.py +0 -0
  271. {gea_program-0.64.0 → gea_program-0.66.0}/gea/pore_pressure.py +0 -0
  272. {gea_program-0.64.0 → gea_program-0.66.0}/gea/ports.py +0 -0
  273. {gea_program-0.64.0 → gea_program-0.66.0}/gea/ppdm.py +0 -0
  274. {gea_program-0.64.0 → gea_program-0.66.0}/gea/profile_catalog.py +0 -0
  275. {gea_program-0.64.0 → gea_program-0.66.0}/gea/project.py +0 -0
  276. {gea_program-0.64.0 → gea_program-0.66.0}/gea/qt6_downhole_app.py +0 -0
  277. {gea_program-0.64.0 → gea_program-0.66.0}/gea/quakeml.py +0 -0
  278. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reconciler.py +0 -0
  279. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
  280. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
  281. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/WMM2025.COF +0 -0
  282. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/eia_henry_hub_daily.csv.gz +0 -0
  283. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/eia_prices.provenance.json +0 -0
  284. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/eia_wti_daily.csv.gz +0 -0
  285. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/iscwsa_rev4_example.json +0 -0
  286. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/iscwsa_rev5_example.json +0 -0
  287. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/l0701_sonic_gr.las.gz +0 -0
  288. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/l0701_sonic_gr.provenance.json +0 -0
  289. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/libmseed_steim.provenance.json +0 -0
  290. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
  291. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
  292. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
  293. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/mahoning_example.json +0 -0
  294. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/mud_motor_specs.json +0 -0
  295. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/owsg_tool_models.json +0 -0
  296. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/penetrator_ratings.json +0 -0
  297. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/seismicity_protocols.json +0 -0
  298. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/tool_sources.json +0 -0
  299. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/us_outline.json +0 -0
  300. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/us_outline.provenance.json +0 -0
  301. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_3d.provenance.json +0 -0
  302. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_f4_interpretation.las.gz +0 -0
  303. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_f4_logs.provenance.json +0 -0
  304. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_f4_lwd.las.gz +0 -0
  305. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_surfaces.json.gz +0 -0
  306. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_traj_F-10.xml.gz +0 -0
  307. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_traj_F-4.xml.gz +0 -0
  308. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_traj_F-5_12.25in.xml.gz +0 -0
  309. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_traj_F-5_17.5in.xml.gz +0 -0
  310. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_traj_F-5_36in.xml.gz +0 -0
  311. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_traj_F-5_8.5in.xml.gz +0 -0
  312. {gea_program-0.64.0 → gea_program-0.66.0}/gea/reference/volve_well_picks.csv.gz +0 -0
  313. {gea_program-0.64.0 → gea_program-0.66.0}/gea/report_history.py +0 -0
  314. {gea_program-0.64.0 → gea_program-0.66.0}/gea/rig_state.py +0 -0
  315. {gea_program-0.64.0 → gea_program-0.66.0}/gea/rock_inventory.py +0 -0
  316. {gea_program-0.64.0 → gea_program-0.66.0}/gea/sample_record.py +0 -0
  317. {gea_program-0.64.0 → gea_program-0.66.0}/gea/sample_well_profile.csv +0 -0
  318. {gea_program-0.64.0 → gea_program-0.66.0}/gea/sbom.py +0 -0
  319. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seedlink.py +0 -0
  320. {gea_program-0.64.0 → gea_program-0.66.0}/gea/segy.py +0 -0
  321. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic.py +0 -0
  322. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_array.py +0 -0
  323. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_assoc.py +0 -0
  324. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_detect.py +0 -0
  325. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_film.py +0 -0
  326. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_harmonic.py +0 -0
  327. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_qc.py +0 -0
  328. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_response.py +0 -0
  329. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_signature.py +0 -0
  330. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_track.py +0 -0
  331. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_uncertainty.py +0 -0
  332. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_unlisted.py +0 -0
  333. {gea_program-0.64.0 → gea_program-0.66.0}/gea/seismic_watch.py +0 -0
  334. {gea_program-0.64.0 → gea_program-0.66.0}/gea/sensor_swap.py +0 -0
  335. {gea_program-0.64.0 → gea_program-0.66.0}/gea/series_cache.py +0 -0
  336. {gea_program-0.64.0 → gea_program-0.66.0}/gea/service_life.py +0 -0
  337. {gea_program-0.64.0 → gea_program-0.66.0}/gea/setup_checklist.py +0 -0
  338. {gea_program-0.64.0 → gea_program-0.66.0}/gea/shapefile.py +0 -0
  339. {gea_program-0.64.0 → gea_program-0.66.0}/gea/shell.py +0 -0
  340. {gea_program-0.64.0 → gea_program-0.66.0}/gea/shut_in.py +0 -0
  341. {gea_program-0.64.0 → gea_program-0.66.0}/gea/simulation.py +0 -0
  342. {gea_program-0.64.0 → gea_program-0.66.0}/gea/site_map.py +0 -0
  343. {gea_program-0.64.0 → gea_program-0.66.0}/gea/sla_report.py +0 -0
  344. {gea_program-0.64.0 → gea_program-0.66.0}/gea/slip.py +0 -0
  345. {gea_program-0.64.0 → gea_program-0.66.0}/gea/soak.py +0 -0
  346. {gea_program-0.64.0 → gea_program-0.66.0}/gea/sra.py +0 -0
  347. {gea_program-0.64.0 → gea_program-0.66.0}/gea/store_forward.py +0 -0
  348. {gea_program-0.64.0 → gea_program-0.66.0}/gea/strata_join.py +0 -0
  349. {gea_program-0.64.0 → gea_program-0.66.0}/gea/structure.py +0 -0
  350. {gea_program-0.64.0 → gea_program-0.66.0}/gea/supervisor.py +0 -0
  351. {gea_program-0.64.0 → gea_program-0.66.0}/gea/survey_cmd.py +0 -0
  352. {gea_program-0.64.0 → gea_program-0.66.0}/gea/survey_view.py +0 -0
  353. {gea_program-0.64.0 → gea_program-0.66.0}/gea/telemetry.py +0 -0
  354. {gea_program-0.64.0 → gea_program-0.66.0}/gea/timestamp.py +0 -0
  355. {gea_program-0.64.0 → gea_program-0.66.0}/gea/tls.py +0 -0
  356. {gea_program-0.64.0 → gea_program-0.66.0}/gea/tool_catalog.py +0 -0
  357. {gea_program-0.64.0 → gea_program-0.66.0}/gea/tool_library.py +0 -0
  358. {gea_program-0.64.0 → gea_program-0.66.0}/gea/tool_taxonomy.py +0 -0
  359. {gea_program-0.64.0 → gea_program-0.66.0}/gea/torque_drag.py +0 -0
  360. {gea_program-0.64.0 → gea_program-0.66.0}/gea/transient.py +0 -0
  361. {gea_program-0.64.0 → gea_program-0.66.0}/gea/vibration.py +0 -0
  362. {gea_program-0.64.0 → gea_program-0.66.0}/gea/well3d.py +0 -0
  363. {gea_program-0.64.0 → gea_program-0.66.0}/gea/well_assembler.py +0 -0
  364. {gea_program-0.64.0 → gea_program-0.66.0}/gea/well_report.py +0 -0
  365. {gea_program-0.64.0 → gea_program-0.66.0}/gea/well_test_validation.py +0 -0
  366. {gea_program-0.64.0 → gea_program-0.66.0}/gea/wellplan.py +0 -0
  367. {gea_program-0.64.0 → gea_program-0.66.0}/gea/wellpos.py +0 -0
  368. {gea_program-0.64.0 → gea_program-0.66.0}/gea/wits0.py +0 -0
  369. {gea_program-0.64.0 → gea_program-0.66.0}/gea/witsml.py +0 -0
  370. {gea_program-0.64.0 → gea_program-0.66.0}/gea/workspace.py +0 -0
  371. {gea_program-0.64.0 → gea_program-0.66.0}/gea/xlsx_read.py +0 -0
  372. {gea_program-0.64.0 → gea_program-0.66.0}/gea_program.egg-info/dependency_links.txt +0 -0
  373. {gea_program-0.64.0 → gea_program-0.66.0}/gea_program.egg-info/entry_points.txt +0 -0
  374. {gea_program-0.64.0 → gea_program-0.66.0}/gea_program.egg-info/requires.txt +0 -0
  375. {gea_program-0.64.0 → gea_program-0.66.0}/gea_program.egg-info/top_level.txt +0 -0
  376. {gea_program-0.64.0 → gea_program-0.66.0}/setup.cfg +0 -0
  377. {gea_program-0.64.0 → gea_program-0.66.0}/tests/test_acceptance.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gea-program
3
- Version: 0.64.0
3
+ Version: 0.66.0
4
4
  Summary: GEA-Program: downhole gauge monitoring - canonical measurement records, quality rules, drift evaluation with a re-fit change log, well-test validation, alarm management, model cards, store-and-forward, monthly SLA measurement, FAT/SAT protocols and a dashboard, generated from live objects in the client's reporting outline.
5
5
  Author: Daniel T. Murphy
6
6
  License: MPL-2.0
@@ -1424,6 +1424,34 @@ builds the Windows and Linux kits in CI (`build-installer.yml`), installs
1424
1424
  them the way a client does, runs the gate from the installed kit, and
1425
1425
  attaches the zips to the GitHub release of that tag.
1426
1426
 
1427
+ ### The Windows installer
1428
+
1429
+ Every release also carries `GEA-Program-Setup-0.66.0.exe` (for 0.66.0): the
1430
+ same Windows kit installed like any Windows program, for the signed-in user
1431
+ alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
1432
+ It asks for the site workspace (an existing one such as `C:\site` is used as
1433
+ it is, its name included; a new one is made with the site name it asks for,
1434
+ which heads every report), runs the kit's `install.cmd` with no network, and adds Start-menu and
1435
+ desktop shortcuts, an Add/Remove Programs entry and, when chosen, a start at
1436
+ sign-in. The shortcut **GEA-Program** starts the control panel when it is not
1437
+ running and opens it in Microsoft Edge's app window (its own window and
1438
+ taskbar button; Chrome's, else a browser tab, where Edge is missing); the
1439
+ program's icon in the notification area says whether the panel is running
1440
+ and opens, starts or stops it (`gea launch`, `gea tray`). A newer setup
1441
+ installs over the older one after stopping the panel; the uninstaller stops
1442
+ it, removes the program and leaves the workspace. Silent, for a site's
1443
+ software deployment:
1444
+
1445
+ ```
1446
+ GEA-Program-Setup-0.66.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1447
+ ```
1448
+
1449
+ The setup is built by Inno Setup 6 from `tools/installer.iss` in the same
1450
+ workflow, signed with the publisher's certificate when one is configured
1451
+ (unsigned, with a notice, until then), attested, and installed, upgraded in
1452
+ place with the control panel running, and uninstalled on the build machine
1453
+ before it is attached. `gea help install`.
1454
+
1427
1455
  ## Layout
1428
1456
 
1429
1457
  ```
@@ -1435,7 +1463,7 @@ docs/report_samples/ one rendered example of every client report, from this bui
1435
1463
  docs/ TESTER_GUIDE.md, REQUIREMENTS_MATRIX.md (the scope-of-work mirror that shaped the reports), examples/ (port configs),
1436
1464
  SESSION_LOG.md (the working record, session by session),
1437
1465
  commercial/ (pilot proposal, bench readiness, commercial use), HISTORY.md (the ship-by-ship record)
1438
- tools/ standalone_check.py (the self-contained guard; run by ci and ship.ps1), build_installer.py (the kit),
1466
+ tools/ standalone_check.py (the self-contained guard; run by ci and ship.ps1), build_installer.py (the kit), installer.iss (the Windows setup),
1439
1467
  render_report_samples.py (docs/report_samples), seismic_reader_check.py (the reader against libmseed)
1440
1468
  CHANGELOG.md per-release summary (a tag ships only with its section); SHIP_LOG.md is written by ship.ps1
1441
1469
  tests/ pytest wrapper around the acceptance suite and the standalone check
@@ -1385,6 +1385,34 @@ builds the Windows and Linux kits in CI (`build-installer.yml`), installs
1385
1385
  them the way a client does, runs the gate from the installed kit, and
1386
1386
  attaches the zips to the GitHub release of that tag.
1387
1387
 
1388
+ ### The Windows installer
1389
+
1390
+ Every release also carries `GEA-Program-Setup-0.66.0.exe` (for 0.66.0): the
1391
+ same Windows kit installed like any Windows program, for the signed-in user
1392
+ alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
1393
+ It asks for the site workspace (an existing one such as `C:\site` is used as
1394
+ it is, its name included; a new one is made with the site name it asks for,
1395
+ which heads every report), runs the kit's `install.cmd` with no network, and adds Start-menu and
1396
+ desktop shortcuts, an Add/Remove Programs entry and, when chosen, a start at
1397
+ sign-in. The shortcut **GEA-Program** starts the control panel when it is not
1398
+ running and opens it in Microsoft Edge's app window (its own window and
1399
+ taskbar button; Chrome's, else a browser tab, where Edge is missing); the
1400
+ program's icon in the notification area says whether the panel is running
1401
+ and opens, starts or stops it (`gea launch`, `gea tray`). A newer setup
1402
+ installs over the older one after stopping the panel; the uninstaller stops
1403
+ it, removes the program and leaves the workspace. Silent, for a site's
1404
+ software deployment:
1405
+
1406
+ ```
1407
+ GEA-Program-Setup-0.66.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1408
+ ```
1409
+
1410
+ The setup is built by Inno Setup 6 from `tools/installer.iss` in the same
1411
+ workflow, signed with the publisher's certificate when one is configured
1412
+ (unsigned, with a notice, until then), attested, and installed, upgraded in
1413
+ place with the control panel running, and uninstalled on the build machine
1414
+ before it is attached. `gea help install`.
1415
+
1388
1416
  ## Layout
1389
1417
 
1390
1418
  ```
@@ -1396,7 +1424,7 @@ docs/report_samples/ one rendered example of every client report, from this bui
1396
1424
  docs/ TESTER_GUIDE.md, REQUIREMENTS_MATRIX.md (the scope-of-work mirror that shaped the reports), examples/ (port configs),
1397
1425
  SESSION_LOG.md (the working record, session by session),
1398
1426
  commercial/ (pilot proposal, bench readiness, commercial use), HISTORY.md (the ship-by-ship record)
1399
- tools/ standalone_check.py (the self-contained guard; run by ci and ship.ps1), build_installer.py (the kit),
1427
+ tools/ standalone_check.py (the self-contained guard; run by ci and ship.ps1), build_installer.py (the kit), installer.iss (the Windows setup),
1400
1428
  render_report_samples.py (docs/report_samples), seismic_reader_check.py (the reader against libmseed)
1401
1429
  CHANGELOG.md per-release summary (a tag ships only with its section); SHIP_LOG.md is written by ship.ps1
1402
1430
  tests/ pytest wrapper around the acceptance suite and the standalone check
@@ -123,7 +123,7 @@ from .profile_catalog import (
123
123
  read_pangaea_txt,
124
124
  )
125
125
 
126
- __version__ = "0.64.0"
126
+ __version__ = "0.66.0"
127
127
  __all__ = [
128
128
  "aging_rate", "rate_psi_yr", "accuracy_psi",
129
129
  "Sensor", "SimulatorConfig", "DownholeEngine",
@@ -815,6 +815,20 @@ def main(argv=None) -> int:
815
815
  p_sv.add_argument("--behind-proxy", action="store_true", help="a reverse proxy terminates TLS in front: trust X-Forwarded-For/-Proto, mark the cookie Secure (deploy/ has nginx and Caddy examples)")
816
816
  p_sv.add_argument("--no-browser", action="store_true", help="do not open the control panel in a browser once the service is listening (a scheduled start, a restart, a server with no desktop)")
817
817
 
818
+ p_la = sub.add_parser("launch", help="the control panel as a desktop program: start it when it is not running, open it in a window of its own (Edge's app window, else Chrome's, else the browser), put its icon in the notification area")
819
+ p_la.add_argument("--workspace", type=str, default=None, help="the workspace folder (default: GEA_WORKSPACE, else the installer's choice, else %%LOCALAPPDATA%%\\GEA-Program\\site)")
820
+ p_la.add_argument("--port", type=int, default=8765)
821
+ p_la.add_argument("--background", action="store_true", help="start the control panel and its icon without opening a window (the logon task)")
822
+ p_la.add_argument("--no-tray", action="store_true", help="no notification-area icon")
823
+ p_la.add_argument("--selftest", action="store_true", help="say what a launch would do here (the kit, the workspace, the window, the command), start nothing")
824
+ p_la.add_argument("--json", action="store_true")
825
+ p_la.add_argument("--set-workspace", type=str, default=None, help="record the site workspace for this installation (the installer runs it; never a folder inside the program's own)")
826
+ p_la.add_argument("--site-name", type=str, default=None, help="with --set-workspace: make the workspace with this name when there is none there yet (an existing one is left as it is; empty names it after its folder)")
827
+ p_ty = sub.add_parser("tray", help="the program's icon in the Windows notification area: running or stopped, and a menu to open, start or stop the control panel")
828
+ p_ty.add_argument("--workspace", type=str, default=None, help="the workspace folder (as gea launch finds it)")
829
+ p_ty.add_argument("--port", type=int, default=8765)
830
+ p_ty.add_argument("--selftest", action="store_true", help="make the icon and its menu, show it for a moment and take it away")
831
+
818
832
  p_tl = sub.add_parser("tls", help="HTTPS for the dashboard: the site's own certificate, a self-signed one made here, or off; with no option, how it stands")
819
833
  p_tl.add_argument("--workspace", type=str, required=True)
820
834
  p_tl.add_argument("--site-cert", type=str, default=None, help="the site's certificate (PEM, the server's first, then any chain) - read from where it is at every start")
@@ -3211,6 +3225,12 @@ def main(argv=None) -> int:
3211
3225
  if n.get(k):
3212
3226
  print(f" {k}: {n[k]}")
3213
3227
  return 0
3228
+ elif a.cmd == "launch":
3229
+ from .launcher import main as _launch
3230
+ return _launch(a)
3231
+ elif a.cmd == "tray":
3232
+ from .tray import main as _tray
3233
+ return _tray(a)
3214
3234
  elif a.cmd == "serve":
3215
3235
  from .service import Service
3216
3236
  from .workspace import WorkspaceError