MoleditPy 2.8.3__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.
- {moleditpy-2.8.3 → moleditpy-3.0.0}/PKG-INFO +5 -4
- {moleditpy-2.8.3 → moleditpy-3.0.0}/README.md +4 -3
- {moleditpy-2.8.3 → moleditpy-3.0.0}/pyproject.toml +1 -1
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/MoleditPy.egg-info/PKG-INFO +5 -4
- moleditpy-3.0.0/src/MoleditPy.egg-info/SOURCES.txt +82 -0
- moleditpy-3.0.0/src/moleditpy/__init__.py +20 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/moleditpy/__main__.py +1 -1
- moleditpy-3.0.0/src/moleditpy/core/__init__.py +0 -0
- moleditpy-3.0.0/src/moleditpy/core/mol_geometry.py +664 -0
- moleditpy-3.0.0/src/moleditpy/core/molecular_data.py +509 -0
- moleditpy-3.0.0/src/moleditpy/main.py +78 -0
- {moleditpy-2.8.3/src/moleditpy → moleditpy-3.0.0/src/moleditpy/plugins}/__init__.py +0 -4
- moleditpy-3.0.0/src/moleditpy/plugins/plugin_interface.py +400 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/plugins}/plugin_manager.py +220 -60
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/plugins}/plugin_manager_window.py +43 -4
- moleditpy-3.0.0/src/moleditpy/ui/__init__.py +25 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/about_dialog.py +18 -14
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/align_plane_dialog.py +40 -110
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/alignment_dialog.py +53 -47
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/analysis_window.py +31 -31
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/angle_dialog.py +100 -178
- moleditpy-3.0.0/src/moleditpy/ui/app_state.py +866 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/atom_item.py +111 -103
- moleditpy-3.0.0/src/moleditpy/ui/base_picking_dialog.py +126 -0
- moleditpy-3.0.0/src/moleditpy/ui/bond_item.py +529 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/bond_length_dialog.py +77 -152
- moleditpy-3.0.0/src/moleditpy/ui/calculation_worker.py +984 -0
- moleditpy-3.0.0/src/moleditpy/ui/color_settings_dialog.py +454 -0
- moleditpy-3.0.0/src/moleditpy/ui/compute_logic.py +673 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/constrained_optimization_dialog.py +166 -138
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/custom_interactor_style.py +307 -271
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/custom_qt_interactor.py +12 -12
- moleditpy-2.8.3/src/moleditpy/modules/dialog3_d_picking_mixin.py → moleditpy-3.0.0/src/moleditpy/ui/dialog_3d_picking_mixin.py +74 -65
- moleditpy-3.0.0/src/moleditpy/ui/dialog_logic.py +478 -0
- moleditpy-3.0.0/src/moleditpy/ui/dihedral_dialog.py +406 -0
- moleditpy-3.0.0/src/moleditpy/ui/edit_3d_logic.py +501 -0
- moleditpy-3.0.0/src/moleditpy/ui/edit_actions_logic.py +1563 -0
- moleditpy-2.8.3/src/moleditpy/modules/main_window_export.py → moleditpy-3.0.0/src/moleditpy/ui/export_logic.py +320 -296
- moleditpy-3.0.0/src/moleditpy/ui/geometry_base_dialog.py +113 -0
- moleditpy-3.0.0/src/moleditpy/ui/io_logic.py +1036 -0
- moleditpy-3.0.0/src/moleditpy/ui/main_window.py +100 -0
- moleditpy-3.0.0/src/moleditpy/ui/main_window_init.py +2084 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/mirror_dialog.py +25 -24
- moleditpy-3.0.0/src/moleditpy/ui/molecular_scene_handler.py +1443 -0
- moleditpy-3.0.0/src/moleditpy/ui/molecule_scene.py +839 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/move_group_dialog.py +173 -213
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/periodic_table_dialog.py +8 -8
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/planarize_dialog.py +31 -73
- moleditpy-3.0.0/src/moleditpy/ui/settings_dialog.py +204 -0
- moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/__init__.py +11 -0
- moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_2d_tab.py +220 -0
- moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_3d_tabs.py +276 -0
- moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_other_tab.py +111 -0
- moleditpy-3.0.0/src/moleditpy/ui/settings_tabs/settings_tab_base.py +63 -0
- moleditpy-2.8.3/src/moleditpy/modules/__init__.py → moleditpy-3.0.0/src/moleditpy/ui/sip_isdeleted_safe.py +4 -8
- moleditpy-2.8.3/src/moleditpy/modules/main_window_string_importers.py → moleditpy-3.0.0/src/moleditpy/ui/string_importers.py +91 -73
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/template_preview_item.py +3 -3
- moleditpy-3.0.0/src/moleditpy/ui/template_preview_view.py +85 -0
- moleditpy-3.0.0/src/moleditpy/ui/translation_dialog.py +193 -0
- moleditpy-3.0.0/src/moleditpy/ui/ui_manager.py +648 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/user_template_dialog.py +111 -164
- moleditpy-2.8.3/src/moleditpy/modules/main_window_view_3d.py → moleditpy-3.0.0/src/moleditpy/ui/view_3d_logic.py +795 -537
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/ui}/zoomable_view.py +18 -17
- moleditpy-3.0.0/src/moleditpy/utils/__init__.py +11 -0
- {moleditpy-2.8.3/src/moleditpy/modules → moleditpy-3.0.0/src/moleditpy/utils}/constants.py +36 -3
- moleditpy-3.0.0/src/moleditpy/utils/default_settings.py +85 -0
- moleditpy-3.0.0/src/moleditpy/utils/sip_isdeleted_safe.py +41 -0
- moleditpy-3.0.0/src/moleditpy/utils/system_utils.py +71 -0
- moleditpy-2.8.3/src/MoleditPy.egg-info/SOURCES.txt +0 -70
- moleditpy-2.8.3/src/moleditpy/main.py +0 -34
- moleditpy-2.8.3/src/moleditpy/modules/bond_item.py +0 -597
- moleditpy-2.8.3/src/moleditpy/modules/calculation_worker.py +0 -1323
- moleditpy-2.8.3/src/moleditpy/modules/color_settings_dialog.py +0 -524
- moleditpy-2.8.3/src/moleditpy/modules/dihedral_dialog.py +0 -516
- moleditpy-2.8.3/src/moleditpy/modules/main_window.py +0 -805
- moleditpy-2.8.3/src/moleditpy/modules/main_window_app_state.py +0 -880
- moleditpy-2.8.3/src/moleditpy/modules/main_window_compute.py +0 -1434
- moleditpy-2.8.3/src/moleditpy/modules/main_window_dialog_manager.py +0 -466
- moleditpy-2.8.3/src/moleditpy/modules/main_window_edit_3d.py +0 -441
- moleditpy-2.8.3/src/moleditpy/modules/main_window_edit_actions.py +0 -1585
- moleditpy-2.8.3/src/moleditpy/modules/main_window_main_init.py +0 -2348
- moleditpy-2.8.3/src/moleditpy/modules/main_window_molecular_parsers.py +0 -1124
- moleditpy-2.8.3/src/moleditpy/modules/main_window_project_io.py +0 -392
- moleditpy-2.8.3/src/moleditpy/modules/main_window_ui_manager.py +0 -546
- moleditpy-2.8.3/src/moleditpy/modules/main_window_view_loaders.py +0 -337
- moleditpy-2.8.3/src/moleditpy/modules/mol_geometry.py +0 -339
- moleditpy-2.8.3/src/moleditpy/modules/molecular_data.py +0 -340
- moleditpy-2.8.3/src/moleditpy/modules/molecule_scene.py +0 -2254
- moleditpy-2.8.3/src/moleditpy/modules/plugin_interface.py +0 -230
- moleditpy-2.8.3/src/moleditpy/modules/settings_dialog.py +0 -1861
- moleditpy-2.8.3/src/moleditpy/modules/sip_isdeleted_safe.py +0 -17
- moleditpy-2.8.3/src/moleditpy/modules/template_preview_view.py +0 -89
- moleditpy-2.8.3/src/moleditpy/modules/translation_dialog.py +0 -373
- {moleditpy-2.8.3 → moleditpy-3.0.0}/LICENSE +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/setup.cfg +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/MoleditPy.egg-info/dependency_links.txt +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/MoleditPy.egg-info/entry_points.txt +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/MoleditPy.egg-info/requires.txt +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/MoleditPy.egg-info/top_level.txt +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/moleditpy/assets/file_icon.ico +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/moleditpy/assets/icon.icns +0 -0
- {moleditpy-2.8.3 → moleditpy-3.0.0}/src/moleditpy/assets/icon.ico +0 -0
- {moleditpy-2.8.3 → 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:
|
|
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
|
[](https://pypi.org/project/MoleditPy/)
|
|
711
711
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
712
712
|
[](https://github.com/HiroYokoyama/python_molecular_editor/actions)
|
|
713
|
-

|
|
714
|
+

|
|
715
715
|

|
|
716
|
-

|
|
717
717
|
[](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
|
[](https://pypi.org/project/MoleditPy/)
|
|
7
7
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
8
8
|
[](https://github.com/HiroYokoyama/python_molecular_editor/actions)
|
|
9
|
-

|
|
10
|
+

|
|
11
11
|

|
|
12
|
-

|
|
13
13
|
[](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
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MoleditPy
|
|
3
|
-
Version:
|
|
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
|
[](https://pypi.org/project/MoleditPy/)
|
|
711
711
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
712
712
|
[](https://github.com/HiroYokoyama/python_molecular_editor/actions)
|
|
713
|
-

|
|
714
|
+

|
|
715
715
|

|
|
716
|
-

|
|
717
717
|
[](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
|
|
File without changes
|