pyfemtet 0.6.5__tar.gz → 0.6.6__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.

Potentially problematic release.


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

Files changed (127) hide show
  1. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/PKG-INFO +3 -1
  2. pyfemtet-0.6.6/pyfemtet/__init__.py +1 -0
  3. pyfemtet-0.6.6/pyfemtet/brep/__init__.py +3 -0
  4. pyfemtet-0.6.6/pyfemtet/brep/_impl.py +14 -0
  5. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_excel_interface.py +13 -6
  6. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyproject.toml +6 -1
  7. pyfemtet-0.6.5/pyfemtet/__init__.py +0 -1
  8. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/LICENSE +0 -0
  9. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/README.md +0 -0
  10. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_femtet_config_util/__init__.py +0 -0
  11. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_femtet_config_util/autosave.py +0 -0
  12. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_femtet_config_util/exit.py +0 -0
  13. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_message/1. make_pot.bat +0 -0
  14. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_message/2. make_mo.bat +0 -0
  15. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_message/__init__.py +0 -0
  16. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_message/babel.cfg +0 -0
  17. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_message/locales/ja/LC_MESSAGES/messages.po +0 -0
  18. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_message/locales/messages.pot +0 -0
  19. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_message/messages.py +0 -0
  20. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_util/__init__.py +0 -0
  21. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_util/excel_macro_util.py +0 -0
  22. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/_warning.py +0 -0
  23. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/core.py +0 -0
  24. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/dispatch_extensions/__init__.py +0 -0
  25. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/dispatch_extensions/_impl.py +0 -0
  26. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/logger/__init__.py +0 -0
  27. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/logger/_impl.py +0 -0
  28. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/__init__.py +0 -0
  29. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/_femopt.py +0 -0
  30. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/_femopt_core.py +0 -0
  31. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/_test_utils/__init__.py +0 -0
  32. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/_test_utils/control_femtet.py +0 -0
  33. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/_test_utils/hyper_sphere.py +0 -0
  34. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/_test_utils/record_history.py +0 -0
  35. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/__init__.py +0 -0
  36. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_base.py +0 -0
  37. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_femtet.py +0 -0
  38. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_femtet_parametric.py +0 -0
  39. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_femtet_with_nx/__init__.py +0 -0
  40. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_femtet_with_nx/_interface.py +0 -0
  41. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_femtet_with_nx/update_model.py +0 -0
  42. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/interface/_femtet_with_sldworks.py +0 -0
  43. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/__init__.py +0 -0
  44. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_base.py +0 -0
  45. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_optuna/__init__.py +0 -0
  46. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_optuna/_botorch_patch/__init__.py +0 -0
  47. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_optuna/_botorch_patch/enable_nonlinear_constraint.py +0 -0
  48. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_optuna/_optuna.py +0 -0
  49. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_optuna/_pof_botorch.py +0 -0
  50. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_scipy.py +0 -0
  51. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/_scipy_scalar.py +0 -0
  52. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/optimizer/parameter.py +0 -0
  53. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/prediction/__init__.py +0 -0
  54. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/prediction/_base.py +0 -0
  55. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/prediction/single_task_gp.py +0 -0
  56. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/ParametricIF.femprj +0 -0
  57. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/ParametricIF.py +0 -0
  58. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/ParametricIF_test_result.reccsv +0 -0
  59. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_NX.femprj +0 -0
  60. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_NX.prt +0 -0
  61. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_NX.py +0 -0
  62. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_NX_test_result.reccsv +0 -0
  63. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_SW.SLDPRT +0 -0
  64. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_SW.femprj +0 -0
  65. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_SW.py +0 -0
  66. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/cad_ex01_SW_test_result.reccsv +0 -0
  67. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/constrained_pipe.femprj +0 -0
  68. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/constrained_pipe.py +0 -0
  69. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/constrained_pipe_test_result.reccsv +0 -0
  70. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric.femprj +0 -0
  71. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric.py +0 -0
  72. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/gal_ex58_parametric_test_result.reccsv +0 -0
  73. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/gau_ex08_parametric.femprj +0 -0
  74. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/gau_ex08_parametric.py +0 -0
  75. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/gau_ex08_parametric_test_result.reccsv +0 -0
  76. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/her_ex40_parametric.femprj +0 -0
  77. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/her_ex40_parametric.py +0 -0
  78. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/her_ex40_parametric_test_result.reccsv +0 -0
  79. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/paswat_ex1_parametric.femprj +0 -0
  80. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/paswat_ex1_parametric.py +0 -0
  81. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/paswat_ex1_parametric_parallel.py +0 -0
  82. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/paswat_ex1_parametric_test_result.reccsv +0 -0
  83. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/wat_ex14_parametric.femprj +0 -0
  84. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/wat_ex14_parametric.py +0 -0
  85. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/wat_ex14_parametric_parallel.py +0 -0
  86. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample/wat_ex14_parametric_test_result.reccsv +0 -0
  87. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/ParametricIF_jp.femprj +0 -0
  88. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/ParametricIF_jp.py +0 -0
  89. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_NX_jp.femprj +0 -0
  90. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_NX_jp.py +0 -0
  91. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_SW_jp.femprj +0 -0
  92. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_SW_jp.py +0 -0
  93. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/constrained_pipe_jp.py +0 -0
  94. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/gal_ex58_parametric_jp.femprj +0 -0
  95. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/gal_ex58_parametric_jp.py +0 -0
  96. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/gau_ex08_parametric_jp.femprj +0 -0
  97. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/gau_ex08_parametric_jp.py +0 -0
  98. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/her_ex40_parametric_jp.femprj +0 -0
  99. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/her_ex40_parametric_jp.py +0 -0
  100. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/paswat_ex1_parametric_jp.femprj +0 -0
  101. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/paswat_ex1_parametric_jp.py +0 -0
  102. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/paswat_ex1_parametric_parallel_jp.py +0 -0
  103. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_jp.femprj +0 -0
  104. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_jp.py +0 -0
  105. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/samples/femprj_sample_jp/wat_ex14_parametric_parallel_jp.py +0 -0
  106. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/__init__.py +0 -0
  107. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_base.py +0 -0
  108. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_complex_components/__init__.py +0 -0
  109. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_complex_components/alert_region.py +0 -0
  110. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_complex_components/control_femtet.py +0 -0
  111. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_complex_components/main_figure_creator.py +0 -0
  112. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_complex_components/main_graph.py +0 -0
  113. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_complex_components/pm_graph.py +0 -0
  114. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_complex_components/pm_graph_creator.py +0 -0
  115. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_create_wrapped_components.py +0 -0
  116. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_process_monitor/__init__.py +0 -0
  117. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_process_monitor/application.py +0 -0
  118. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_process_monitor/pages.py +0 -0
  119. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_wrapped_components/__init__.py +0 -0
  120. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_wrapped_components/dbc.py +0 -0
  121. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_wrapped_components/dcc.py +0 -0
  122. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_wrapped_components/html.py +0 -0
  123. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/_wrapped_components/str_enum.py +0 -0
  124. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/result_viewer/.gitignore +0 -0
  125. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/result_viewer/__init__.py +0 -0
  126. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/result_viewer/application.py +0 -0
  127. {pyfemtet-0.6.5 → pyfemtet-0.6.6}/pyfemtet/opt/visualization/result_viewer/pages.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyfemtet
3
- Version: 0.6.5
3
+ Version: 0.6.6
4
4
  Summary: Design parameter optimization using Femtet.
5
5
  Home-page: https://github.com/pyfemtet/pyfemtet
6
6
  License: BSD-3-Clause
@@ -12,8 +12,10 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
+ Provides-Extra: brep
15
16
  Requires-Dist: babel (>=2.15.0,<3.0.0)
16
17
  Requires-Dist: botorch (==0.9.5)
18
+ Requires-Dist: brepmatching (>=0.1.6,<0.2.0) ; extra == "brep"
17
19
  Requires-Dist: colorlog (>=6.8.0,<7.0.0)
18
20
  Requires-Dist: dash (>=2.17.0,<3.0.0)
19
21
  Requires-Dist: dash-bootstrap-components (>=1.5.0,<2.0.0)
@@ -0,0 +1 @@
1
+ __version__ = "0.6.6"
@@ -0,0 +1,3 @@
1
+ from pyfemtet.brep._impl import ModelUpdater
2
+
3
+ __all__ = ['ModelUpdater']
@@ -0,0 +1,14 @@
1
+ try:
2
+ import brepmatching
3
+ except ModuleNotFoundError as e:
4
+ import warnings
5
+ warnings.warn(
6
+ 'There is no installation of `brepmatching`. '
7
+ 'Please confirm installation via '
8
+ '`pip install pyfemtet[brep]` or '
9
+ '`pip install brepmatching` command.'
10
+ )
11
+ raise e
12
+
13
+ from brepmatching.pyfemtet_scripts.replace_model_considering_their_matching import ModelUpdater
14
+
@@ -263,15 +263,15 @@ class ExcelInterface(FEMInterface):
263
263
  try:
264
264
  with watch_excel_macro_error(self.excel, timeout=self.procedure_timeout):
265
265
  self.excel.Run(
266
- f'{self.wb_input.Name}!{self.procedure_name}',
266
+ f'{self.procedure_name}',
267
267
  *self.procedure_args
268
268
  )
269
269
 
270
270
  # 再計算
271
271
  self.excel.CalculateFull()
272
272
 
273
- except com_error:
274
- raise SolveError(f'Failed to run macro {self.wb_input.Name}!{self.procedure_name}')
273
+ except com_error as e:
274
+ raise SolveError(f'Failed to run macro {self.procedure_name}. The original message is: {e}')
275
275
 
276
276
 
277
277
  def quit(self):
@@ -293,7 +293,7 @@ class ExcelInterface(FEMInterface):
293
293
  gc.collect()
294
294
 
295
295
  # quit した後ならば femtet を終了できる
296
- # excel の process の完全消滅を待つ
296
+ # excel の process の消滅を待つ
297
297
  logger.info('Excel の終了を待っています。')
298
298
  while self._excel_pid == _get_pid(self._excel_hwnd):
299
299
  sleep(1)
@@ -301,12 +301,14 @@ class ExcelInterface(FEMInterface):
301
301
  # 正確だが時間がかかるかも
302
302
  logger.info('終了する Femtet を特定しています。')
303
303
  femtet_pid = util.get_last_executed_femtet_process_id()
304
- Femtet, caught_pid = dispatch_specific_femtet(femtet_pid)
305
- _exit_or_force_terminate(timeout=3, Femtet=Femtet, force=True)
304
+ from multiprocessing import Process
305
+ p = Process(target=_terminate_femtet, args=(femtet_pid,))
306
+ p.start()
306
307
 
307
308
  logger.info('自動保存機能の設定を元に戻しています。')
308
309
  _set_autosave_enabled(self._femtet_autosave_buffer)
309
310
 
311
+ p.join()
310
312
  logger.info('Excel-Femtet を終了しました。')
311
313
 
312
314
  # 直接アクセスしてもよいが、ユーザーに易しい名前にするためだけのプロパティ
@@ -425,6 +427,11 @@ def wait_femtet():
425
427
  Femtet = Dispatch('FemtetMacro.Femtet')
426
428
 
427
429
 
430
+ def _terminate_femtet(femtet_pid_):
431
+ CoInitialize()
432
+ Femtet, caught_pid = dispatch_specific_femtet(femtet_pid_)
433
+ _exit_or_force_terminate(timeout=3, Femtet=Femtet, force=True)
434
+
428
435
  # main thread で作成した excel への参照を含む関数を
429
436
  # 直接 thread や process に渡すと機能しない
430
437
  class ScapeGoatObjective:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyfemtet"
3
- version = "0.6.5" # ignored by versioning plugin
3
+ version = "0.6.6" # ignored by versioning plugin
4
4
  description = "Design parameter optimization using Femtet."
5
5
  authors = ["kazuma.naito <kazuma.naito@murata.com>"]
6
6
  readme = "README.md"
@@ -33,6 +33,7 @@ optuna = ">=3.4.0, <5.0.0"
33
33
  optuna-integration = ">=3.6.0, <5.0.0"
34
34
  botorch = "==0.9.5"
35
35
  torch = "~2.3.0"
36
+ brepmatching = {version = "^0.1.6", optional = true}
36
37
 
37
38
  [tool.poetry.group.dev.dependencies]
38
39
  # license
@@ -52,6 +53,9 @@ bokeh = "^3.3.3"
52
53
  pytest = "^7.4.3"
53
54
  pytest-dashboard = "^0.1.2"
54
55
 
56
+ [tool.poetry.extras]
57
+ brep = ["brepmatching"] # pip install pyfemtet[brep]
58
+
55
59
  [tool.poetry.scripts]
56
60
  pyfemtet-opt-result-viewer = 'pyfemtet.opt.visualization.result_viewer.application:main'
57
61
 
@@ -64,6 +68,7 @@ markers = [
64
68
  "sample",
65
69
  "cad",
66
70
  "nofem",
71
+ "brep",
67
72
  "excel",
68
73
  ]
69
74
 
@@ -1 +0,0 @@
1
- __version__ = "0.6.5"
File without changes
File without changes
File without changes
File without changes