pyfemtet 0.6.6__py3-none-any.whl → 0.7.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyfemtet might be problematic. Click here for more details.

@@ -33,11 +33,17 @@ from pyfemtet.dispatch_extensions import (
33
33
  _get_pids,
34
34
  DispatchExtensionException,
35
35
  )
36
- from pyfemtet.opt.interface import FEMInterface, logger
36
+ from pyfemtet.opt.interface import FEMInterface
37
37
  from pyfemtet._message import Msg
38
38
  from pyfemtet._femtet_config_util.autosave import _get_autosave_enabled, _set_autosave_enabled
39
39
  from pyfemtet._femtet_config_util.exit import _exit_or_force_terminate
40
40
 
41
+ if __name__ == '__main__':
42
+ from pyfemtet.logger import get_module_logger
43
+ logger = get_module_logger('opt.interface.FemtetInterface', __name__)
44
+ else:
45
+ from pyfemtet.opt.interface._base import logger
46
+
41
47
 
42
48
  def _post_activate_message(hwnd):
43
49
  win32gui.PostMessage(hwnd, win32con.WM_ACTIVATE, win32con.WA_ACTIVE, 0)
@@ -80,10 +86,6 @@ class FemtetInterface(FEMInterface):
80
86
  it will be None and no parametric outputs are used
81
87
  as objectives.
82
88
 
83
- confirm_before_exit (bool):
84
- Whether to confirm before (abnormal) termination.
85
- Default is True.
86
-
87
89
  **kwargs: Additional arguments from inherited classes.
88
90
 
89
91
  Warning:
@@ -109,7 +111,6 @@ class FemtetInterface(FEMInterface):
109
111
  allow_without_project: bool = False, # main でのみ True を許容したいので super() の引数にしない。
110
112
  open_result_with_gui: bool = True,
111
113
  parametric_output_indexes_use_as_objective: dict[int, str or float] = None,
112
- confirm_before_exit: bool = True,
113
114
  **kwargs # 継承されたクラスからの引数
114
115
  ):
115
116
 
@@ -139,7 +140,6 @@ class FemtetInterface(FEMInterface):
139
140
  self.parametric_output_indexes_use_as_objective = parametric_output_indexes_use_as_objective
140
141
  self._original_autosave_enabled = _get_autosave_enabled()
141
142
  _set_autosave_enabled(False)
142
- self.confirm_before_exit = confirm_before_exit
143
143
 
144
144
  # dask サブプロセスのときは femprj を更新し connect_method を new にする
145
145
  try:
@@ -177,7 +177,6 @@ class FemtetInterface(FEMInterface):
177
177
  open_result_with_gui=self.open_result_with_gui,
178
178
  parametric_output_indexes_use_as_objective=self.parametric_output_indexes_use_as_objective,
179
179
  save_pdt=self.save_pdt,
180
- confirm_before_exit=self.confirm_before_exit,
181
180
  **kwargs
182
181
  )
183
182
 
@@ -247,11 +246,9 @@ class FemtetInterface(FEMInterface):
247
246
  cmd = f'{sys.executable} -m win32com.client.makepy FemtetMacro'
248
247
  os.system(cmd)
249
248
  message = Msg.ERR_NO_MAKEPY
250
- print('================')
251
- print(message)
252
- print('================')
253
- if self.confirm_before_exit:
254
- input('Press enter to finish...')
249
+ logger.error('================')
250
+ logger.error(message)
251
+ logger.error('================')
255
252
  raise RuntimeError(message)
256
253
 
257
254
  if self.Femtet is None:
@@ -535,24 +532,20 @@ class FemtetInterface(FEMInterface):
535
532
  try:
536
533
  variable_names = self.Femtet.GetVariableNames_py()
537
534
  except AttributeError as e:
538
- print('================')
535
+ logger.error('================')
539
536
  logger.error(Msg.ERR_CANNOT_ACCESS_API + 'GetVariableNames_py')
540
537
  logger.error(Msg.CERTIFY_MACRO_VERSION)
541
- print('================')
542
- if self.confirm_before_exit:
543
- input(Msg.ENTER_TO_QUIT)
538
+ logger.error('================')
544
539
  raise e
545
540
 
546
541
  if variable_names is not None:
547
542
  if param_name in variable_names:
548
543
  return self.Femtet.GetVariableValue(param_name)
549
544
  message = Msg.ERR_NO_SUCH_PARAMETER_IN_FEMTET
550
- print('================')
545
+ logger.error('================')
551
546
  logger.error(message)
552
547
  logger.error(f'`{param_name}` not in {variable_names}')
553
- print('================')
554
- if self.confirm_before_exit:
555
- input(Msg.ENTER_TO_QUIT)
548
+ logger.error('================')
556
549
  raise RuntimeError(message)
557
550
  else:
558
551
  return None
@@ -60,7 +60,7 @@ def add_parametric_results_as_objectives(femopt, indexes, directions) -> bool:
60
60
  def _parametric_objective(Femtet, parametric_result_index):
61
61
  # load dll and set target femtet
62
62
  dll = _get_dll_with_set_femtet(Femtet)
63
- dll.GetPrmResult.restype = ctypes.c_double
63
+ dll.GetPrmResult.restype = ctypes.c_double # 複素数の場合は実部しか取らない
64
64
  return dll.GetPrmResult(parametric_result_index)
65
65
 
66
66
 
@@ -6,7 +6,7 @@ import pandas as pd
6
6
  from dask.distributed import get_worker
7
7
 
8
8
  from pyfemtet.core import ModelError
9
- from pyfemtet.opt.interface import FemtetInterface, logger
9
+ from pyfemtet.opt.interface import FemtetInterface
10
10
  from pyfemtet._message import Msg
11
11
 
12
12
 
@@ -10,7 +10,7 @@ from win32com.client import DispatchEx
10
10
  from pythoncom import CoInitialize, CoUninitialize, com_error
11
11
 
12
12
  from pyfemtet.core import ModelError
13
- from pyfemtet.opt.interface import FemtetInterface, logger
13
+ from pyfemtet.opt.interface import FemtetInterface
14
14
  from pyfemtet._message import Msg
15
15
 
16
16
 
@@ -16,10 +16,9 @@ from pyfemtet._message import Msg
16
16
  from pyfemtet.opt.optimizer.parameter import ExpressionEvaluator, Parameter
17
17
 
18
18
  # logger
19
- import logging
20
- from pyfemtet.logger import get_logger
21
- logger = get_logger('opt')
22
- logger.setLevel(logging.INFO)
19
+ from pyfemtet.logger import get_module_logger
20
+
21
+ logger = get_module_logger('opt.optimizer', __name__)
23
22
 
24
23
 
25
24
  class OptimizationMethodChecker:
@@ -303,6 +302,7 @@ class AbstractOptimizer(ABC):
303
302
  worker_status_list, # 他の worker の status オブジェクト
304
303
  wait_setup, # 他の worker の status が ready になるまで待つか
305
304
  skip_reconstruct=False, # reconstruct fem を行うかどうか
305
+ space_dir=None, # 特定の space_dir を使うかどうか
306
306
  ) -> Optional[Exception]:
307
307
 
308
308
  # 自分の worker_status の取得
@@ -315,7 +315,7 @@ class AbstractOptimizer(ABC):
315
315
 
316
316
  # set_fem をはじめ、終了したらそれを示す
317
317
  self._reconstruct_fem(skip_reconstruct)
318
- self.fem._setup_after_parallel(opt=self)
318
+ self.fem._setup_after_parallel(opt=self, space_dir=space_dir)
319
319
  self.worker_status.set(OptimizationStatus.WAIT_OTHER_WORKERS)
320
320
 
321
321
  # wait_setup or not
@@ -14,9 +14,12 @@ from botorch.acquisition import AcquisitionFunction
14
14
  from botorch.optim.initializers import gen_batch_initial_conditions
15
15
 
16
16
  from pyfemtet.opt._femopt_core import Constraint
17
- from pyfemtet.opt.optimizer import OptunaOptimizer, logger
17
+ from pyfemtet.opt.optimizer import OptunaOptimizer
18
18
  from pyfemtet._message import Msg
19
19
 
20
+ from pyfemtet.logger import get_module_logger
21
+
22
+ logger = get_module_logger(__file__, __name__)
20
23
 
21
24
 
22
25
  BotorchConstraint = Callable[[Tensor], Tensor]
@@ -65,7 +65,6 @@ def radius_diff(Femtet, opt):
65
65
  external_r = params['external_r']
66
66
  return external_r - internal_r
67
67
 
68
-
69
68
  if __name__ == '__main__':
70
69
  # Setup optimization method
71
70
  opt = OptunaOptimizer(
@@ -20,14 +20,14 @@ from pyfemtet.opt.visualization._wrapped_components import html, dcc, dbc
20
20
  from abc import ABC, abstractmethod
21
21
  import logging
22
22
  import psutil
23
- from pyfemtet.logger import get_logger
23
+ from pyfemtet.logger import get_module_logger, get_dash_logger
24
24
 
25
+ logger = get_module_logger('opt.monitor', __name__)
26
+ logger.setLevel(logging.ERROR)
25
27
 
26
- dash_logger = logging.getLogger('werkzeug')
28
+ dash_logger = get_dash_logger()
27
29
  dash_logger.setLevel(logging.ERROR)
28
30
 
29
- logger = get_logger('viewer')
30
- logger.setLevel(logging.ERROR)
31
31
 
32
32
 
33
33
  class AbstractPage(ABC):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyfemtet
3
- Version: 0.6.6
3
+ Version: 0.7.1
4
4
  Summary: Design parameter optimization using Femtet.
5
5
  Home-page: https://github.com/pyfemtet/pyfemtet
6
6
  License: BSD-3-Clause
@@ -22,6 +22,7 @@ Requires-Dist: dash-bootstrap-components (>=1.5.0,<2.0.0)
22
22
  Requires-Dist: dask (>=2023.12.1,<2024.0.0)
23
23
  Requires-Dist: distributed (>=2023.12.1,<2024.0.0)
24
24
  Requires-Dist: femtetutils (>=1.0.0,<2.0.0)
25
+ Requires-Dist: fire (>=0.6.0,<0.7.0)
25
26
  Requires-Dist: numpy (>=1.26.2,<2.0.0)
26
27
  Requires-Dist: openpyxl (>=3.1.2,<4.0.0)
27
28
  Requires-Dist: optuna (>=3.4.0,<5.0.0)
@@ -1,7 +1,7 @@
1
- pyfemtet/__init__.py,sha256=GTf8rijLTDSqTWQgxKQN312t-j2E-t3ioZB4U22DXxc,21
1
+ pyfemtet/__init__.py,sha256=tUukPDbH9wVBvn9_DYqm0p_Q7TagQGM_2ZX042hSuUs,21
2
2
  pyfemtet/_femtet_config_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  pyfemtet/_femtet_config_util/autosave.py,sha256=dNirA9XGuFehas8_Jkj2BW9GOzMbPyhnt1WHcH_ObSU,2070
4
- pyfemtet/_femtet_config_util/exit.py,sha256=sx8Wcepgi-lL5qJpJl6WvlzbeVheU9_Dtf1f38mmoTo,1822
4
+ pyfemtet/_femtet_config_util/exit.py,sha256=0BWID-tjOkmZwmgPFkcJMkWW39voccz5ARIBWvZbHaw,1877
5
5
  pyfemtet/_message/1. make_pot.bat,sha256=wrTA0YaL7nUfNB0cS8zljOmwq2qgyG6RMwHQbrwjvY4,476
6
6
  pyfemtet/_message/2. make_mo.bat,sha256=6shJ3Yn4BXjDc0hhv_kiGUtVTq4oSRz8-iS4vW29rNE,155
7
7
  pyfemtet/_message/__init__.py,sha256=gE1-XX_PzHj9BbhqPaK5VcIHuv6_Tec5qlPMC3IRiBg,100
@@ -10,36 +10,37 @@ pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po,sha256=F2bJGHVMtk086pekjVwY
10
10
  pyfemtet/_message/locales/messages.pot,sha256=8Yjf462pJdEtxBLySKT34zMG5CH5uLB_8VaJQll_QsY,14493
11
11
  pyfemtet/_message/messages.py,sha256=F8ENLZKoHq5irn-Ag7rqA3aSDsTmRWDyNHvOLY76ROI,13368
12
12
  pyfemtet/_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- pyfemtet/_util/excel_macro_util.py,sha256=Euxz3QmvTnnQCkWnbnPhvX7xXxppRONX69VlFxNCojA,7540
13
+ pyfemtet/_util/dask_util.py,sha256=ufgr4m8slvyWP97lWBwolysQpJ1PmAO_-OI8IlEyvU8,233
14
+ pyfemtet/_util/excel_macro_util.py,sha256=cF1Z3yl9FMM0J7dpMRTsle8uYxYcfHhQC0QffnVovdY,7944
14
15
  pyfemtet/_warning.py,sha256=TSOj8mOhuyfOUJB24LsW6GNhTA3IzIEevJw_hLKTrq8,2205
15
16
  pyfemtet/brep/__init__.py,sha256=V1IQ2s-8eWjXOVlTp2jMav9u-NBiSkmyAX1vmtHDEso,73
16
17
  pyfemtet/brep/_impl.py,sha256=Amf_wsUxUosQB3XXhErJ5RGKXBxRnaaPpavb_0Xx6Ek,404
17
18
  pyfemtet/core.py,sha256=3lqfBGJ5IuKz2Nqj5pRo7YQqKwx_0ZDL72u95Ur_1p0,1386
18
- pyfemtet/dispatch_extensions/__init__.py,sha256=MI9b6oIS2IXnTNHy8jvZ4QURdTHQd9PN-gifYxqVvk4,272
19
- pyfemtet/dispatch_extensions/_impl.py,sha256=HU7rKRAzEe5yYukWrKtdi1aIbUas_kLyaa_KZZGCELE,16244
20
- pyfemtet/logger/__init__.py,sha256=DZNTD9BboiFU9LOiyPKi_Y6gWAga5f1lWkVoq7LV_y0,71
21
- pyfemtet/logger/_impl.py,sha256=ZN5Rj3kb9UEGFt5KSLlzwfrLF_SAoOxgPBkadwh2Y8w,2825
19
+ pyfemtet/dispatch_extensions/__init__.py,sha256=QKpwZ0ffWUB-fiXXhhTL653FcPGLR-JKfxDNidEFoeM,271
20
+ pyfemtet/dispatch_extensions/_impl.py,sha256=yH_yeAnQ-Xi9GfjX-FQt9u3yHnrLYIteRb6HkgYHVEc,16222
21
+ pyfemtet/logger/__init__.py,sha256=UOJ9n_U2xwdTrp0Xgg-N6geySxNzKqTBQlXsaH0kW_w,420
22
+ pyfemtet/logger/_impl.py,sha256=rsAd0HpmveOaLS39ucp3U2OcDhQMWjC5fnVGhbJtWVw,6375
22
23
  pyfemtet/opt/__init__.py,sha256=wRR8LbEhb5I6MUgmnCgjB6-tqHlOVxDIo7yPkq0QbBs,758
23
- pyfemtet/opt/_femopt.py,sha256=h3DQpwdNyPDU9jxc52DEsHaDWO1mVnA4hOT5_omXglo,37377
24
- pyfemtet/opt/_femopt_core.py,sha256=Sn13SI1r5OvSu6C9XjkqTrFz2IgO_vMszIAgA-gx-TU,34348
24
+ pyfemtet/opt/_femopt.py,sha256=3mh68QrVeP3EAhy3xEaNyB97uNJYAUZvpaPv6ZRrMN4,37883
25
+ pyfemtet/opt/_femopt_core.py,sha256=7z9xS8oQ8wW7dMoPaLL5PUizdJJIhoIM0EsvTu6LZ2Q,35416
25
26
  pyfemtet/opt/_test_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- pyfemtet/opt/_test_utils/control_femtet.py,sha256=Oy2MmNS-LhUXF9rKLa8AXAfJhppIQI8Nha8LmEZflmk,1169
27
+ pyfemtet/opt/_test_utils/control_femtet.py,sha256=8oAl9y5V2n8Nnsgx_ebcZVzwFt1eI3swkdiKg6pg3-M,1085
27
28
  pyfemtet/opt/_test_utils/hyper_sphere.py,sha256=nQhw8EIY0DwvcTqrbKhkxiITLZifr4-nG77E-_6ggmA,700
28
29
  pyfemtet/opt/_test_utils/record_history.py,sha256=JCNJLZMCNTpJ6VT7iwEt2DIbwmsuQmgC0ClQSfcatj4,3915
29
- pyfemtet/opt/interface/__init__.py,sha256=5hel-mP6tuxzIEJFMZJZWUEWEbFSsskzCWlQ3HORTYI,466
30
- pyfemtet/opt/interface/_base.py,sha256=aPJ55dTp4-Q4KMkUZVRlquuBBWWOIOdC6yQsYZR4Jy0,2626
31
- pyfemtet/opt/interface/_excel_interface.py,sha256=kUNTtv98Zfot1ZJk281fhg6-EGQp8Jf_T8MeuO9LS08,16830
32
- pyfemtet/opt/interface/_femtet.py,sha256=dmKyRG8sWuX2JHjcXpvJ2q632oZh4I94iVo4u7Z7w_M,34742
33
- pyfemtet/opt/interface/_femtet_parametric.py,sha256=KDG8SB43AgwuhpCStjvx10G0RzyHhga6k4dfvp0gvYU,2175
30
+ pyfemtet/opt/interface/__init__.py,sha256=P5Ij-xjB4628qdgacIXLu_WBaWCoBkAk4nEMUCAQzWs,458
31
+ pyfemtet/opt/interface/_base.py,sha256=NVrvHVL7npgZbAQdMziA5TbTBghgi31JwrFH57edBKE,2615
32
+ pyfemtet/opt/interface/_excel_interface.py,sha256=mdPOCeEVrozcDBGIkprb8qSiCUYN2g07gz4KJRZdWSw,32479
33
+ pyfemtet/opt/interface/_femtet.py,sha256=REbi7-DdV0Keq-IgjDCTWHP9gjweayoORz3S04RfmkA,34443
34
+ pyfemtet/opt/interface/_femtet_parametric.py,sha256=0pAEhHflp0wIxWBVMXI8nCC02oAyRKLinH3Y6O8bq3M,2224
34
35
  pyfemtet/opt/interface/_femtet_with_nx/__init__.py,sha256=-6W2g2FDEcKzGHmI5KAKQe-4U5jDpMj0CXuma-GZca0,83
35
- pyfemtet/opt/interface/_femtet_with_nx/_interface.py,sha256=BXWdzIFcId1EovpbRD5DmkW0BwqhpDvOuGBv9kdCGy8,5994
36
+ pyfemtet/opt/interface/_femtet_with_nx/_interface.py,sha256=oefISc6c6RPPyhPnWuzCb60tgsrzGiqoIWk1DsiKzTk,5986
36
37
  pyfemtet/opt/interface/_femtet_with_nx/update_model.py,sha256=P7VH0i_o-X9OUe6AGaLF1fACPeHNrMjcrOBCA3MMrI4,3092
37
- pyfemtet/opt/interface/_femtet_with_sldworks.py,sha256=A9o-IY8Npq0CHK7yGxBw47wmOtNv5IYR80U2XAabSWM,11019
38
+ pyfemtet/opt/interface/_femtet_with_sldworks.py,sha256=qqo2P4qZN0d89uNQyohKxq-Yhdql5vC0QHg4bpy7Ky8,11011
38
39
  pyfemtet/opt/optimizer/__init__.py,sha256=Ia6viowECkG0IFXtFef0tJ4jDKsoDzJLqMJ9xLFH2LQ,543
39
- pyfemtet/opt/optimizer/_base.py,sha256=0jX68VEfLI08Qr01BvfPCHKKlr3Bj6gWQ0T81qpX0y4,12507
40
+ pyfemtet/opt/optimizer/_base.py,sha256=0cramby4lHPjNt6WoSn8XFhfx54xXMYucjD0O1uYz7w,12591
40
41
  pyfemtet/opt/optimizer/_optuna/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
42
  pyfemtet/opt/optimizer/_optuna/_botorch_patch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- pyfemtet/opt/optimizer/_optuna/_botorch_patch/enable_nonlinear_constraint.py,sha256=2hUP2c8mokkRaSQ8nXxgCCmz8e0JKvEz8R2qIGnTGm0,8863
43
+ pyfemtet/opt/optimizer/_optuna/_botorch_patch/enable_nonlinear_constraint.py,sha256=b2-PP2HM46kJS4cJkBWnxnW9AS9JfeVkEjmkoKK_ziE,8949
43
44
  pyfemtet/opt/optimizer/_optuna/_optuna.py,sha256=nKlEYizSu6BQu8OMhRWRJxk5eXJ0LAPR7h6CQOjbdxE,16460
44
45
  pyfemtet/opt/optimizer/_optuna/_pof_botorch.py,sha256=yVyg1V3trqirSDtbRepgftvS02AEkAhrgjou21JS124,72717
45
46
  pyfemtet/opt/optimizer/_scipy.py,sha256=_2whhMNq6hC1lr5PlYhpZ8Zlh6-DkAjz8SVB5qHIpYg,4766
@@ -60,7 +61,7 @@ pyfemtet/opt/samples/femprj_sample/cad_ex01_SW.femprj,sha256=knN0bBTHm5CqExLdmxd
60
61
  pyfemtet/opt/samples/femprj_sample/cad_ex01_SW.py,sha256=JoGQSwH3yJnABxyd-WJfrwMkhd1UV0yYF2L2RvMFXmc,4559
61
62
  pyfemtet/opt/samples/femprj_sample/cad_ex01_SW_test_result.reccsv,sha256=NS0Zik2c1mbMdGa0hGJaRQdCD08Bltx84n9QzP5CjPo,4736
62
63
  pyfemtet/opt/samples/femprj_sample/constrained_pipe.femprj,sha256=MAl-VQfethwYvl49RkuW7FQlFCQ9_mYvc03SsqBCad0,57414
63
- pyfemtet/opt/samples/femprj_sample/constrained_pipe.py,sha256=9Y5kE8ilNTaPzcjn1qCAdXQnyjYRCHpu_hYMOmJXKO8,3227
64
+ pyfemtet/opt/samples/femprj_sample/constrained_pipe.py,sha256=mIscUYVGmoz5IpR_T9wyC1vTVW95PbGAeuTcDvq1Nk8,3226
64
65
  pyfemtet/opt/samples/femprj_sample/constrained_pipe_test_result.reccsv,sha256=AbAMXLtxrEBHLjdM0HnGQ7j3uJtVHZpxOZxOqNmO1CA,1796
65
66
  pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric.femprj,sha256=dbanN3W2eX_ciZ0wZGqK60mc4edSVh5G2OqbbMKyFng,74898
66
67
  pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric.py,sha256=RxLSXFs0SqUjlug_JZAKlkJhqJdQCY3Y3F-DtSQRtVM,2458
@@ -99,7 +100,7 @@ pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_jp.femprj,sha256=dMwQM
99
100
  pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_jp.py,sha256=vMy-KUP1wEMV9Rt6yXjkE40Fcs1t1cpQK-nQJK8hHao,2284
100
101
  pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_parallel_jp.py,sha256=4X0cl3YWpYarcNBCH79mrlyFuKUYSqvnGzokEbv9ILk,2335
101
102
  pyfemtet/opt/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
- pyfemtet/opt/visualization/_base.py,sha256=k0PDvqNKn7sFYIgajWykOTgFztlu5_1bc-xfQQh8bKA,7589
103
+ pyfemtet/opt/visualization/_base.py,sha256=xh6yIkoyBrV670JhAnR9rRewpH7P25wz0pnr0JH0pvc,7623
103
104
  pyfemtet/opt/visualization/_complex_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
105
  pyfemtet/opt/visualization/_complex_components/alert_region.py,sha256=sX8xqT4NqhACagK4YgumF4ResrTqhOKQ8dN4q58shI8,2106
105
106
  pyfemtet/opt/visualization/_complex_components/control_femtet.py,sha256=LcMoh_MQQ1-hiz7nMGOmxSSoJLOX8viVxZB6uIggg_g,6243
@@ -120,8 +121,8 @@ pyfemtet/opt/visualization/result_viewer/.gitignore,sha256=ryvb4aqbbsHireHWlPQfx
120
121
  pyfemtet/opt/visualization/result_viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
122
  pyfemtet/opt/visualization/result_viewer/application.py,sha256=WcHBx_J5eNLKSaprpk9BGifwhO04oN8FiNGYTWorrXA,1691
122
123
  pyfemtet/opt/visualization/result_viewer/pages.py,sha256=laEAKHAtdshCAHxgXo-zMNg3RP6lCxfszO3XwLnF1dU,32156
123
- pyfemtet-0.6.6.dist-info/LICENSE,sha256=sVQBhyoglGJUu65-BP3iR6ujORI6YgEU2Qm-V4fGlOA,1485
124
- pyfemtet-0.6.6.dist-info/METADATA,sha256=4fvkbBciIFpFpL6UBZ7EQ62imk4AdT9AwbuPGXTbktE,3371
125
- pyfemtet-0.6.6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
126
- pyfemtet-0.6.6.dist-info/entry_points.txt,sha256=ZfYqRaoiPtuWqFi2_msccyrVF0LurMn-IHlYamAegZo,104
127
- pyfemtet-0.6.6.dist-info/RECORD,,
124
+ pyfemtet-0.7.1.dist-info/LICENSE,sha256=sVQBhyoglGJUu65-BP3iR6ujORI6YgEU2Qm-V4fGlOA,1485
125
+ pyfemtet-0.7.1.dist-info/METADATA,sha256=NQPiiH6Lfk_1zkuMKNVtOnegaWhJXp_hN6afJMmaWts,3408
126
+ pyfemtet-0.7.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
127
+ pyfemtet-0.7.1.dist-info/entry_points.txt,sha256=ZfYqRaoiPtuWqFi2_msccyrVF0LurMn-IHlYamAegZo,104
128
+ pyfemtet-0.7.1.dist-info/RECORD,,