MoleditPy 2.8.2__tar.gz → 3.0.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 (103) hide show
  1. {moleditpy-2.8.2 → moleditpy-3.0.0}/PKG-INFO +5 -4
  2. {moleditpy-2.8.2 → moleditpy-3.0.0}/README.md +4 -3
  3. {moleditpy-2.8.2 → moleditpy-3.0.0}/pyproject.toml +1 -1
  4. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/MoleditPy.egg-info/PKG-INFO +5 -4
  5. moleditpy-3.0.0/src/MoleditPy.egg-info/SOURCES.txt +82 -0
  6. moleditpy-3.0.0/src/moleditpy/__init__.py +20 -0
  7. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/moleditpy/__main__.py +1 -1
  8. moleditpy-3.0.0/src/moleditpy/core/__init__.py +0 -0
  9. moleditpy-3.0.0/src/moleditpy/core/mol_geometry.py +664 -0
  10. moleditpy-3.0.0/src/moleditpy/core/molecular_data.py +509 -0
  11. moleditpy-3.0.0/src/moleditpy/main.py +78 -0
  12. {moleditpy-2.8.2/src/moleditpy → moleditpy-3.0.0/src/moleditpy/plugins}/__init__.py +0 -4
  13. moleditpy-3.0.0/src/moleditpy/plugins/plugin_interface.py +400 -0
  14. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/plugins}/plugin_manager.py +220 -60
  15. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/plugins}/plugin_manager_window.py +43 -4
  16. moleditpy-3.0.0/src/moleditpy/ui/__init__.py +25 -0
  17. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/about_dialog.py +18 -14
  18. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/align_plane_dialog.py +40 -110
  19. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/alignment_dialog.py +53 -47
  20. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/analysis_window.py +31 -31
  21. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/angle_dialog.py +100 -178
  22. moleditpy-3.0.0/src/moleditpy/ui/app_state.py +866 -0
  23. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/atom_item.py +111 -103
  24. moleditpy-3.0.0/src/moleditpy/ui/base_picking_dialog.py +126 -0
  25. moleditpy-3.0.0/src/moleditpy/ui/bond_item.py +529 -0
  26. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/bond_length_dialog.py +77 -152
  27. moleditpy-3.0.0/src/moleditpy/ui/calculation_worker.py +984 -0
  28. moleditpy-3.0.0/src/moleditpy/ui/color_settings_dialog.py +454 -0
  29. moleditpy-3.0.0/src/moleditpy/ui/compute_logic.py +673 -0
  30. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/constrained_optimization_dialog.py +166 -137
  31. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/custom_interactor_style.py +307 -271
  32. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/custom_qt_interactor.py +12 -12
  33. moleditpy-2.8.2/src/moleditpy/modules/dialog3_d_picking_mixin.py → moleditpy-3.0.0/src/moleditpy/ui/dialog_3d_picking_mixin.py +74 -65
  34. moleditpy-3.0.0/src/moleditpy/ui/dialog_logic.py +478 -0
  35. moleditpy-3.0.0/src/moleditpy/ui/dihedral_dialog.py +406 -0
  36. moleditpy-3.0.0/src/moleditpy/ui/edit_3d_logic.py +501 -0
  37. moleditpy-3.0.0/src/moleditpy/ui/edit_actions_logic.py +1563 -0
  38. moleditpy-2.8.2/src/moleditpy/modules/main_window_export.py → moleditpy-3.0.0/src/moleditpy/ui/export_logic.py +320 -296
  39. moleditpy-3.0.0/src/moleditpy/ui/geometry_base_dialog.py +113 -0
  40. moleditpy-3.0.0/src/moleditpy/ui/io_logic.py +1036 -0
  41. moleditpy-3.0.0/src/moleditpy/ui/main_window.py +100 -0
  42. moleditpy-3.0.0/src/moleditpy/ui/main_window_init.py +2084 -0
  43. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/mirror_dialog.py +25 -24
  44. moleditpy-3.0.0/src/moleditpy/ui/molecular_scene_handler.py +1443 -0
  45. moleditpy-3.0.0/src/moleditpy/ui/molecule_scene.py +839 -0
  46. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/move_group_dialog.py +173 -225
  47. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/periodic_table_dialog.py +8 -8
  48. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/planarize_dialog.py +31 -73
  49. moleditpy-3.0.0/src/moleditpy/ui/settings_dialog.py +204 -0
  50. moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/__init__.py +11 -0
  51. moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_2d_tab.py +220 -0
  52. moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_3d_tabs.py +276 -0
  53. moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_other_tab.py +111 -0
  54. moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_tab_base.py +63 -0
  55. moleditpy-2.8.2/src/moleditpy/modules/__init__.py → moleditpy-3.0.0/src/moleditpy/ui/sip_isdeleted_safe.py +4 -8
  56. moleditpy-2.8.2/src/moleditpy/modules/main_window_string_importers.py → moleditpy-3.0.0/src/moleditpy/ui/string_importers.py +91 -73
  57. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/template_preview_item.py +3 -3
  58. moleditpy-3.0.0/src/moleditpy/ui/template_preview_view.py +85 -0
  59. moleditpy-3.0.0/src/moleditpy/ui/translation_dialog.py +193 -0
  60. moleditpy-3.0.0/src/moleditpy/ui/ui_manager.py +648 -0
  61. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/user_template_dialog.py +111 -164
  62. moleditpy-2.8.2/src/moleditpy/modules/main_window_view_3d.py → moleditpy-3.0.0/src/moleditpy/ui/view_3d_logic.py +795 -537
  63. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/zoomable_view.py +18 -17
  64. moleditpy-3.0.0/src/moleditpy/utils/__init__.py +11 -0
  65. {moleditpy-2.8.2/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/utils}/constants.py +36 -3
  66. moleditpy-3.0.0/src/moleditpy/utils/default_settings.py +85 -0
  67. moleditpy-3.0.0/src/moleditpy/utils/sip_isdeleted_safe.py +41 -0
  68. moleditpy-3.0.0/src/moleditpy/utils/system_utils.py +71 -0
  69. moleditpy-2.8.2/src/MoleditPy.egg-info/SOURCES.txt +0 -70
  70. moleditpy-2.8.2/src/moleditpy/main.py +0 -34
  71. moleditpy-2.8.2/src/moleditpy/modules/bond_item.py +0 -597
  72. moleditpy-2.8.2/src/moleditpy/modules/calculation_worker.py +0 -1320
  73. moleditpy-2.8.2/src/moleditpy/modules/color_settings_dialog.py +0 -524
  74. moleditpy-2.8.2/src/moleditpy/modules/dihedral_dialog.py +0 -516
  75. moleditpy-2.8.2/src/moleditpy/modules/main_window.py +0 -801
  76. moleditpy-2.8.2/src/moleditpy/modules/main_window_app_state.py +0 -880
  77. moleditpy-2.8.2/src/moleditpy/modules/main_window_compute.py +0 -1415
  78. moleditpy-2.8.2/src/moleditpy/modules/main_window_dialog_manager.py +0 -466
  79. moleditpy-2.8.2/src/moleditpy/modules/main_window_edit_3d.py +0 -441
  80. moleditpy-2.8.2/src/moleditpy/modules/main_window_edit_actions.py +0 -1585
  81. moleditpy-2.8.2/src/moleditpy/modules/main_window_main_init.py +0 -2335
  82. moleditpy-2.8.2/src/moleditpy/modules/main_window_molecular_parsers.py +0 -1124
  83. moleditpy-2.8.2/src/moleditpy/modules/main_window_project_io.py +0 -392
  84. moleditpy-2.8.2/src/moleditpy/modules/main_window_ui_manager.py +0 -546
  85. moleditpy-2.8.2/src/moleditpy/modules/main_window_view_loaders.py +0 -337
  86. moleditpy-2.8.2/src/moleditpy/modules/mol_geometry.py +0 -339
  87. moleditpy-2.8.2/src/moleditpy/modules/molecular_data.py +0 -340
  88. moleditpy-2.8.2/src/moleditpy/modules/molecule_scene.py +0 -2254
  89. moleditpy-2.8.2/src/moleditpy/modules/plugin_interface.py +0 -230
  90. moleditpy-2.8.2/src/moleditpy/modules/settings_dialog.py +0 -1861
  91. moleditpy-2.8.2/src/moleditpy/modules/sip_isdeleted_safe.py +0 -17
  92. moleditpy-2.8.2/src/moleditpy/modules/template_preview_view.py +0 -89
  93. moleditpy-2.8.2/src/moleditpy/modules/translation_dialog.py +0 -391
  94. {moleditpy-2.8.2 → moleditpy-3.0.0}/LICENSE +0 -0
  95. {moleditpy-2.8.2 → moleditpy-3.0.0}/setup.cfg +0 -0
  96. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/MoleditPy.egg-info/dependency_links.txt +0 -0
  97. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/MoleditPy.egg-info/entry_points.txt +0 -0
  98. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/MoleditPy.egg-info/requires.txt +0 -0
  99. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/MoleditPy.egg-info/top_level.txt +0 -0
  100. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/moleditpy/assets/file_icon.ico +0 -0
  101. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/moleditpy/assets/icon.icns +0 -0
  102. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/moleditpy/assets/icon.ico +0 -0
  103. {moleditpy-2.8.2 → moleditpy-3.0.0}/src/moleditpy/assets/icon.png +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy
3
- Version: 2.8.2
3
+ Version: 3.0.0
4
4
  Summary: A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
5
5
  Author-email: HiroYokoyama <titech.yoko.hiro@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -710,10 +710,10 @@ Dynamic: license-file
710
710
  [![Python Versions](https://img.shields.io/pypi/pyversions/MoleditPy.svg)](https://pypi.org/project/MoleditPy/)
711
711
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
712
712
  [![Build Status](https://github.com/HiroYokoyama/python_molecular_editor/actions/workflows/tests.yml/badge.svg)](https://github.com/HiroYokoyama/python_molecular_editor/actions)
713
- ![Core Logic Coverage](https://img.shields.io/badge/core_logic_coverage-72%25-green)
714
- ![Overall Coverage](https://img.shields.io/badge/coverage-50%25-orange)
713
+ ![Core Logic Coverage](https://img.shields.io/badge/core_logic_coverage-75%25-green)
714
+ ![Overall Coverage](https://img.shields.io/badge/coverage-67%25-green)
715
715
  ![GUI Status](https://img.shields.io/badge/GUI-Manually_Verified-blue)
716
- ![Pylint Score](https://img.shields.io/badge/pylint-8.64%2F10-brightgreen)
716
+ ![Pylint Score](https://img.shields.io/badge/pylint-9%2F10-brightgreen)
717
717
  [![PyPI Downloads](https://static.pepy.tech/personalized-badge/moleditpy?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/moleditpy)
718
718
 
719
719
  [🇯🇵 日本語 (Japanese)](#japanese)
@@ -834,6 +834,7 @@ moleditpy
834
834
  * **GUI and 2D Drawing (PyQt6):** The editor is built on a `QGraphicsScene`, where custom `AtomItem` and `BondItem` objects are interactively manipulated. The Undo/Redo feature is implemented by serializing the application state.
835
835
  * **Chemical Calculations (RDKit / Open Babel):** RDKit is used to generate molecule objects from 2D data, perform 3D coordinate generation, and calculate properties. Open Babel serves as a fallback for 3D conversion. All heavy computations are run on a separate `QThread` to keep the GUI responsive.
836
836
  * **3D Visualization (PyVista / pyvistaqt):** 3D rendering is achieved by generating PyVista meshes (spheres and cylinders) from RDKit conformer coordinates. A custom `vtkInteractorStyle` enables direct drag-and-drop editing of atoms in the 3D view.
837
+ * **Modular Architecture:** The codebase is organized into dedicated packages for `core` logic, `ui` components, and `utils`. The main application logic is decomposed into reusable mixins, ensuring long-term maintainability and easier verification.
837
838
 
838
839
  ## License
839
840
 
@@ -6,10 +6,10 @@
6
6
  [![Python Versions](https://img.shields.io/pypi/pyversions/MoleditPy.svg)](https://pypi.org/project/MoleditPy/)
7
7
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
8
8
  [![Build Status](https://github.com/HiroYokoyama/python_molecular_editor/actions/workflows/tests.yml/badge.svg)](https://github.com/HiroYokoyama/python_molecular_editor/actions)
9
- ![Core Logic Coverage](https://img.shields.io/badge/core_logic_coverage-72%25-green)
10
- ![Overall Coverage](https://img.shields.io/badge/coverage-50%25-orange)
9
+ ![Core Logic Coverage](https://img.shields.io/badge/core_logic_coverage-75%25-green)
10
+ ![Overall Coverage](https://img.shields.io/badge/coverage-67%25-green)
11
11
  ![GUI Status](https://img.shields.io/badge/GUI-Manually_Verified-blue)
12
- ![Pylint Score](https://img.shields.io/badge/pylint-8.64%2F10-brightgreen)
12
+ ![Pylint Score](https://img.shields.io/badge/pylint-9%2F10-brightgreen)
13
13
  [![PyPI Downloads](https://static.pepy.tech/personalized-badge/moleditpy?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/moleditpy)
14
14
 
15
15
  [🇯🇵 日本語 (Japanese)](#japanese)
@@ -130,6 +130,7 @@ moleditpy
130
130
  * **GUI and 2D Drawing (PyQt6):** The editor is built on a `QGraphicsScene`, where custom `AtomItem` and `BondItem` objects are interactively manipulated. The Undo/Redo feature is implemented by serializing the application state.
131
131
  * **Chemical Calculations (RDKit / Open Babel):** RDKit is used to generate molecule objects from 2D data, perform 3D coordinate generation, and calculate properties. Open Babel serves as a fallback for 3D conversion. All heavy computations are run on a separate `QThread` to keep the GUI responsive.
132
132
  * **3D Visualization (PyVista / pyvistaqt):** 3D rendering is achieved by generating PyVista meshes (spheres and cylinders) from RDKit conformer coordinates. A custom `vtkInteractorStyle` enables direct drag-and-drop editing of atoms in the 3D view.
133
+ * **Modular Architecture:** The codebase is organized into dedicated packages for `core` logic, `ui` components, and `utils`. The main application logic is decomposed into reusable mixins, ensuring long-term maintainability and easier verification.
133
134
 
134
135
  ## License
135
136
 
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "MoleditPy"
7
7
 
8
- version = "2.8.2"
8
+ version = "3.0.0"
9
9
 
10
10
  license = {file = "LICENSE"}
11
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy
3
- Version: 2.8.2
3
+ Version: 3.0.0
4
4
  Summary: A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
5
5
  Author-email: HiroYokoyama <titech.yoko.hiro@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -710,10 +710,10 @@ Dynamic: license-file
710
710
  [![Python Versions](https://img.shields.io/pypi/pyversions/MoleditPy.svg)](https://pypi.org/project/MoleditPy/)
711
711
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
712
712
  [![Build Status](https://github.com/HiroYokoyama/python_molecular_editor/actions/workflows/tests.yml/badge.svg)](https://github.com/HiroYokoyama/python_molecular_editor/actions)
713
- ![Core Logic Coverage](https://img.shields.io/badge/core_logic_coverage-72%25-green)
714
- ![Overall Coverage](https://img.shields.io/badge/coverage-50%25-orange)
713
+ ![Core Logic Coverage](https://img.shields.io/badge/core_logic_coverage-75%25-green)
714
+ ![Overall Coverage](https://img.shields.io/badge/coverage-67%25-green)
715
715
  ![GUI Status](https://img.shields.io/badge/GUI-Manually_Verified-blue)
716
- ![Pylint Score](https://img.shields.io/badge/pylint-8.64%2F10-brightgreen)
716
+ ![Pylint Score](https://img.shields.io/badge/pylint-9%2F10-brightgreen)
717
717
  [![PyPI Downloads](https://static.pepy.tech/personalized-badge/moleditpy?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/moleditpy)
718
718
 
719
719
  [🇯🇵 日本語 (Japanese)](#japanese)
@@ -834,6 +834,7 @@ moleditpy
834
834
  * **GUI and 2D Drawing (PyQt6):** The editor is built on a `QGraphicsScene`, where custom `AtomItem` and `BondItem` objects are interactively manipulated. The Undo/Redo feature is implemented by serializing the application state.
835
835
  * **Chemical Calculations (RDKit / Open Babel):** RDKit is used to generate molecule objects from 2D data, perform 3D coordinate generation, and calculate properties. Open Babel serves as a fallback for 3D conversion. All heavy computations are run on a separate `QThread` to keep the GUI responsive.
836
836
  * **3D Visualization (PyVista / pyvistaqt):** 3D rendering is achieved by generating PyVista meshes (spheres and cylinders) from RDKit conformer coordinates. A custom `vtkInteractorStyle` enables direct drag-and-drop editing of atoms in the 3D view.
837
+ * **Modular Architecture:** The codebase is organized into dedicated packages for `core` logic, `ui` components, and `utils`. The main application logic is decomposed into reusable mixins, ensuring long-term maintainability and easier verification.
837
838
 
838
839
  ## License
839
840
 
@@ -0,0 +1,82 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/MoleditPy.egg-info/PKG-INFO
5
+ src/MoleditPy.egg-info/SOURCES.txt
6
+ src/MoleditPy.egg-info/dependency_links.txt
7
+ src/MoleditPy.egg-info/entry_points.txt
8
+ src/MoleditPy.egg-info/requires.txt
9
+ src/MoleditPy.egg-info/top_level.txt
10
+ src/moleditpy/__init__.py
11
+ src/moleditpy/__main__.py
12
+ src/moleditpy/main.py
13
+ src/moleditpy.egg-info/PKG-INFO
14
+ src/moleditpy.egg-info/SOURCES.txt
15
+ src/moleditpy.egg-info/dependency_links.txt
16
+ src/moleditpy.egg-info/entry_points.txt
17
+ src/moleditpy.egg-info/requires.txt
18
+ src/moleditpy.egg-info/top_level.txt
19
+ src/moleditpy/assets/file_icon.ico
20
+ src/moleditpy/assets/icon.icns
21
+ src/moleditpy/assets/icon.ico
22
+ src/moleditpy/assets/icon.png
23
+ src/moleditpy/core/__init__.py
24
+ src/moleditpy/core/mol_geometry.py
25
+ src/moleditpy/core/molecular_data.py
26
+ src/moleditpy/plugins/__init__.py
27
+ src/moleditpy/plugins/plugin_interface.py
28
+ src/moleditpy/plugins/plugin_manager.py
29
+ src/moleditpy/plugins/plugin_manager_window.py
30
+ src/moleditpy/ui/__init__.py
31
+ src/moleditpy/ui/about_dialog.py
32
+ src/moleditpy/ui/align_plane_dialog.py
33
+ src/moleditpy/ui/alignment_dialog.py
34
+ src/moleditpy/ui/analysis_window.py
35
+ src/moleditpy/ui/angle_dialog.py
36
+ src/moleditpy/ui/app_state.py
37
+ src/moleditpy/ui/atom_item.py
38
+ src/moleditpy/ui/base_picking_dialog.py
39
+ src/moleditpy/ui/bond_item.py
40
+ src/moleditpy/ui/bond_length_dialog.py
41
+ src/moleditpy/ui/calculation_worker.py
42
+ src/moleditpy/ui/color_settings_dialog.py
43
+ src/moleditpy/ui/compute_logic.py
44
+ src/moleditpy/ui/constrained_optimization_dialog.py
45
+ src/moleditpy/ui/custom_interactor_style.py
46
+ src/moleditpy/ui/custom_qt_interactor.py
47
+ src/moleditpy/ui/dialog_3d_picking_mixin.py
48
+ src/moleditpy/ui/dialog_logic.py
49
+ src/moleditpy/ui/dihedral_dialog.py
50
+ src/moleditpy/ui/edit_3d_logic.py
51
+ src/moleditpy/ui/edit_actions_logic.py
52
+ src/moleditpy/ui/export_logic.py
53
+ src/moleditpy/ui/geometry_base_dialog.py
54
+ src/moleditpy/ui/io_logic.py
55
+ src/moleditpy/ui/main_window.py
56
+ src/moleditpy/ui/main_window_init.py
57
+ src/moleditpy/ui/mirror_dialog.py
58
+ src/moleditpy/ui/molecular_scene_handler.py
59
+ src/moleditpy/ui/molecule_scene.py
60
+ src/moleditpy/ui/move_group_dialog.py
61
+ src/moleditpy/ui/periodic_table_dialog.py
62
+ src/moleditpy/ui/planarize_dialog.py
63
+ src/moleditpy/ui/settings_dialog.py
64
+ src/moleditpy/ui/sip_isdeleted_safe.py
65
+ src/moleditpy/ui/string_importers.py
66
+ src/moleditpy/ui/template_preview_item.py
67
+ src/moleditpy/ui/template_preview_view.py
68
+ src/moleditpy/ui/translation_dialog.py
69
+ src/moleditpy/ui/ui_manager.py
70
+ src/moleditpy/ui/user_template_dialog.py
71
+ src/moleditpy/ui/view_3d_logic.py
72
+ src/moleditpy/ui/zoomable_view.py
73
+ src/moleditpy/ui/settings_tabs/__init__.py
74
+ src/moleditpy/ui/settings_tabs/settings_2d_tab.py
75
+ src/moleditpy/ui/settings_tabs/settings_3d_tabs.py
76
+ src/moleditpy/ui/settings_tabs/settings_other_tab.py
77
+ src/moleditpy/ui/settings_tabs/settings_tab_base.py
78
+ src/moleditpy/utils/__init__.py
79
+ src/moleditpy/utils/constants.py
80
+ src/moleditpy/utils/default_settings.py
81
+ src/moleditpy/utils/sip_isdeleted_safe.py
82
+ src/moleditpy/utils/system_utils.py
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ MoleditPy — A Python-based molecular editing software
6
+
7
+ Author: Hiromichi Yokoyama
8
+ License: GPL-3.0 license
9
+ Repo: https://github.com/HiroYokoyama/python_molecular_editor
10
+ DOI: 10.5281/zenodo.17268532
11
+ """
12
+
13
+ """Top-level package for moleditpy."""
14
+
15
+ import importlib.util
16
+
17
+ try:
18
+ OBABEL_AVAILABLE = importlib.util.find_spec("openbabel") is not None
19
+ except ImportError:
20
+ OBABEL_AVAILABLE = False
@@ -16,7 +16,7 @@ print("-----------------------------------------------------\n")
16
16
 
17
17
  try:
18
18
  from .main import main
19
- except Exception:
19
+ except ImportError:
20
20
  from main import main
21
21
 
22
22
  # --- Application Execution ---
File without changes