setupEM 0.7.3__tar.gz → 0.8.1__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.
- {setupem-0.7.3/src/setupEM.egg-info → setupem-0.8.1}/PKG-INFO +2 -2
- {setupem-0.7.3 → setupem-0.8.1}/pyproject.toml +1 -1
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/__init__.py +1 -1
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/setupEM.py +17 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/setupThermal.py +8 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/setup_common.py +757 -58
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/stackupEditor.py +309 -33
- {setupem-0.7.3 → setupem-0.8.1/src/setupEM.egg-info}/PKG-INFO +2 -2
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM.egg-info/requires.txt +1 -1
- {setupem-0.7.3 → setupem-0.8.1}/LICENSE +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/README.md +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/README_pypi.md +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/setup.cfg +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/__main__.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/data/SG13G2_100um.xml +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/data/SG13G2_200um.xml +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/data/SG13G2_200um_with_parameters.xml +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/data/SG13G2_nosub.xml +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/field_viewer.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/gds_hierarchy_scan.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/layout_preview.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/momentum_import.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/palace_results.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/result_viewer.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/simplify_gds.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/stackup_writer.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM/thermal_results.py +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM.egg-info/SOURCES.txt +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM.egg-info/dependency_links.txt +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM.egg-info/entry_points.txt +0 -0
- {setupem-0.7.3 → setupem-0.8.1}/src/setupEM.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: setupEM
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.1
|
|
4
4
|
Summary: Python tool for configuration of gds2palace workflow with GUI.
|
|
5
5
|
Author-email: Volker Muehlhaus <volker@muehlhaus.com>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -10,7 +10,7 @@ Project-URL: Changelog, https://github.com/VolkerMuehlhaus/setupEM/blob/main/doc
|
|
|
10
10
|
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
|
-
Requires-Dist: gds2palace>=0.
|
|
13
|
+
Requires-Dist: gds2palace>=0.5.2
|
|
14
14
|
Requires-Dist: gds_prepare_for_EM>=1.2.0
|
|
15
15
|
Requires-Dist: PySide6
|
|
16
16
|
Requires-Dist: shiboken6
|
|
@@ -1846,6 +1846,9 @@ class CreateModelTab(CreateModelTabBase):
|
|
|
1846
1846
|
if box.clickedButton() is install_btn:
|
|
1847
1847
|
self.log_area.appendPlainText("Installing snp2le with pip ...")
|
|
1848
1848
|
self._process_purpose = "install_snp2le"
|
|
1849
|
+
# Reset any stale working directory left over from a previous
|
|
1850
|
+
# run_model()/open_model_fit() call - see create_model()'s comment.
|
|
1851
|
+
self.process.setWorkingDirectory("")
|
|
1849
1852
|
self.process.start(sys.executable, ["-m", "pip", "install", "snp2le"])
|
|
1850
1853
|
else:
|
|
1851
1854
|
self.log_area.appendPlainText("⚠️ snp2le is not installed. Install it with: pip install snp2le")
|
|
@@ -2122,6 +2125,14 @@ class CreateModelTab(CreateModelTabBase):
|
|
|
2122
2125
|
# Run Python interpreter on that file
|
|
2123
2126
|
python_exe = sys.executable # Use the same Python interpreter
|
|
2124
2127
|
self._process_purpose = "create_mesh"
|
|
2128
|
+
# self.process is shared with run_model()/open_model_fit(), which set a
|
|
2129
|
+
# working directory of their own (a model's *_data folder) and never clear
|
|
2130
|
+
# it afterwards - it's sticky on the QProcess instance. If that leftover
|
|
2131
|
+
# directory no longer exists, Windows' CreateProcess refuses to launch
|
|
2132
|
+
# ANY process, even python_exe given by absolute path here, and QProcess
|
|
2133
|
+
# reports it as the generic FailedToStart. Reset it so this launch never
|
|
2134
|
+
# depends on what a previous, unrelated action last pointed it at.
|
|
2135
|
+
self.process.setWorkingDirectory("")
|
|
2125
2136
|
self.process.start(python_exe, [pymodel_filename])
|
|
2126
2137
|
|
|
2127
2138
|
|
|
@@ -2265,6 +2276,12 @@ class CreateModelTab(CreateModelTabBase):
|
|
|
2265
2276
|
# bash -lc: login shell so ~/.profile (where PATH additions for run_palace/combine_snp
|
|
2266
2277
|
# usually live, per gds2palace's scripts/README.md) gets sourced, same as a manually
|
|
2267
2278
|
# typed ./run_sim in a fresh WSL login shell would.
|
|
2279
|
+
# wsl.exe's target directory is passed explicitly via --cd, not via
|
|
2280
|
+
# QProcess's own working directory - but reset the latter anyway, since
|
|
2281
|
+
# it's shared with the Elmer branches below and open_model_fit(), and a
|
|
2282
|
+
# stale, since-deleted directory left over from one of those would make
|
|
2283
|
+
# Windows' CreateProcess refuse to launch wsl.exe itself (FailedToStart).
|
|
2284
|
+
self.process.setWorkingDirectory("")
|
|
2268
2285
|
self.process.start("wsl.exe", [
|
|
2269
2286
|
"--cd", wsl_run_path,
|
|
2270
2287
|
"--", "bash", "-lc", "./run_sim"
|
|
@@ -858,6 +858,14 @@ class CreateModelTab(CreateModelTabBase):
|
|
|
858
858
|
# Run Python interpreter on that file
|
|
859
859
|
python_exe = sys.executable # Use the same Python interpreter
|
|
860
860
|
self._process_purpose = "create_mesh"
|
|
861
|
+
# self.process is shared with run_model(), which sets a working directory
|
|
862
|
+
# of its own (a model's *_data folder) and never clears it afterwards -
|
|
863
|
+
# it's sticky on the QProcess instance. If that leftover directory no
|
|
864
|
+
# longer exists, Windows' CreateProcess refuses to launch ANY process,
|
|
865
|
+
# even python_exe given by absolute path here, and QProcess reports it
|
|
866
|
+
# as the generic FailedToStart. Reset it so this launch never depends on
|
|
867
|
+
# what a previous, unrelated action last pointed it at.
|
|
868
|
+
self.process.setWorkingDirectory("")
|
|
861
869
|
self.process.start(python_exe, [pymodel_filename])
|
|
862
870
|
|
|
863
871
|
|