molop 0.2.2__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.
Files changed (177) hide show
  1. molop/__init__.py +29 -0
  2. molop/cli/__init__.py +0 -0
  3. molop/cli/app.py +788 -0
  4. molop/cli/app.pyi +74 -0
  5. molop/cli/shared/__init__.py +7 -0
  6. molop/cli/shared/frames.py +25 -0
  7. molop/cli/state_machine.py +548 -0
  8. molop/config/__init__.py +182 -0
  9. molop/io/FileBatchModelDisk.py +838 -0
  10. molop/io/FileBatchParserDisk.py +350 -0
  11. molop/io/__init__.py +147 -0
  12. molop/io/_batch_format_transform.py +71 -0
  13. molop/io/_batch_format_transform.pyi +771 -0
  14. molop/io/_typing_catalog.py +17 -0
  15. molop/io/_typing_catalog.pyi +51 -0
  16. molop/io/base_models/Bases.py +423 -0
  17. molop/io/base_models/ChemFile.py +511 -0
  18. molop/io/base_models/ChemFileFrame.py +1110 -0
  19. molop/io/base_models/DataClasses.py +2771 -0
  20. molop/io/base_models/FileParser.py +1018 -0
  21. molop/io/base_models/FrameParser.py +60 -0
  22. molop/io/base_models/Mixins.py +145 -0
  23. molop/io/base_models/Molecule.py +703 -0
  24. molop/io/base_models/ParseContainers.py +90 -0
  25. molop/io/base_models/SearchPattern.py +371 -0
  26. molop/io/base_models/__init__.py +0 -0
  27. molop/io/base_models/_format_transform.py +142 -0
  28. molop/io/base_models/_format_transform.pyi +1373 -0
  29. molop/io/base_models/source.py +320 -0
  30. molop/io/base_models/summary.py +99 -0
  31. molop/io/codec_exceptions.py +21 -0
  32. molop/io/codec_registry.py +904 -0
  33. molop/io/codec_types.py +59 -0
  34. molop/io/codecs/__init__.py +32 -0
  35. molop/io/codecs/_shared/__init__.py +0 -0
  36. molop/io/codecs/_shared/reader_helpers.py +53 -0
  37. molop/io/codecs/_shared/writer_helpers.py +182 -0
  38. molop/io/codecs/catalog.py +181 -0
  39. molop/io/codecs/cml_codec.py +125 -0
  40. molop/io/codecs/openbabel_reader.py +137 -0
  41. molop/io/frame_selection.py +31 -0
  42. molop/io/logic/__init__.py +0 -0
  43. molop/io/logic/coords/__init__.py +0 -0
  44. molop/io/logic/coords/frame_models/SDFFileFrame.py +38 -0
  45. molop/io/logic/coords/frame_models/SMIFileFrame.py +29 -0
  46. molop/io/logic/coords/frame_models/XYZFileFrame.py +41 -0
  47. molop/io/logic/coords/frame_models/__init__.py +0 -0
  48. molop/io/logic/coords/frame_models/_coords_renderers.py +32 -0
  49. molop/io/logic/coords/frame_parsers/SDFFileFrameParser.py +32 -0
  50. molop/io/logic/coords/frame_parsers/SMIFileFrameParser.py +32 -0
  51. molop/io/logic/coords/frame_parsers/XYZFileFrameParser.py +32 -0
  52. molop/io/logic/coords/frame_parsers/__init__.py +0 -0
  53. molop/io/logic/coords/frame_parsers/_coords_extractors.py +103 -0
  54. molop/io/logic/coords/frame_parsers/_xyz_patterns.py +28 -0
  55. molop/io/logic/coords/models/SDFFile.py +85 -0
  56. molop/io/logic/coords/models/SMIFile.py +85 -0
  57. molop/io/logic/coords/models/XYZFile.py +85 -0
  58. molop/io/logic/coords/models/__init__.py +0 -0
  59. molop/io/logic/coords/parsers/SDFFileParser.py +96 -0
  60. molop/io/logic/coords/parsers/SMIFileParser.py +96 -0
  61. molop/io/logic/coords/parsers/XYZFileParser.py +96 -0
  62. molop/io/logic/coords/parsers/__init__.py +0 -0
  63. molop/io/logic/coords/parsers/_coords_file_extractors.py +79 -0
  64. molop/io/logic/gaussian/__init__.py +1 -0
  65. molop/io/logic/gaussian/fchk/__init__.py +1 -0
  66. molop/io/logic/gaussian/fchk/output/__init__.py +1 -0
  67. molop/io/logic/gaussian/fchk/output/frame_models/G16FchkFileFrame.py +28 -0
  68. molop/io/logic/gaussian/fchk/output/frame_models/__init__.py +1 -0
  69. molop/io/logic/gaussian/fchk/output/frame_parsers/G16FchkFileFrameParser.py +222 -0
  70. molop/io/logic/gaussian/fchk/output/frame_parsers/__init__.py +1 -0
  71. molop/io/logic/gaussian/fchk/output/locators.py +11 -0
  72. molop/io/logic/gaussian/fchk/output/models/G16FchkFile.py +34 -0
  73. molop/io/logic/gaussian/fchk/output/models/__init__.py +1 -0
  74. molop/io/logic/gaussian/fchk/output/parsers/G16FchkFileParser.py +145 -0
  75. molop/io/logic/gaussian/fchk/output/parsers/__init__.py +1 -0
  76. molop/io/logic/gaussian/fchk/output/parsers/_fchk_extractors.py +522 -0
  77. molop/io/logic/gaussian/fchk/output/parsers/_fchk_patterns.py +11 -0
  78. molop/io/logic/gaussian/fchk/output/parsers/_fchk_records.py +157 -0
  79. molop/io/logic/gaussian/input/GaussianInput.py +890 -0
  80. molop/io/logic/gaussian/input/GaussianInputParsing.py +676 -0
  81. molop/io/logic/gaussian/input/GaussianInputPatterns.py +79 -0
  82. molop/io/logic/gaussian/input/GaussianLink0.py +102 -0
  83. molop/io/logic/gaussian/input/GaussianRoute.py +638 -0
  84. molop/io/logic/gaussian/input/GaussianRouteParsing.py +851 -0
  85. molop/io/logic/gaussian/input/__init__.py +0 -0
  86. molop/io/logic/gaussian/input/frame_models/GJFFileFrame.py +382 -0
  87. molop/io/logic/gaussian/input/frame_models/__init__.py +0 -0
  88. molop/io/logic/gaussian/input/frame_parsers/GJFFileFrameParser.py +210 -0
  89. molop/io/logic/gaussian/input/frame_parsers/__init__.py +0 -0
  90. molop/io/logic/gaussian/input/frame_parsers/_gjf_extractors.py +118 -0
  91. molop/io/logic/gaussian/input/models/GJFFile.py +88 -0
  92. molop/io/logic/gaussian/input/models/__init__.py +0 -0
  93. molop/io/logic/gaussian/input/parsers/GJFFileParser.py +107 -0
  94. molop/io/logic/gaussian/input/parsers/__init__.py +0 -0
  95. molop/io/logic/gaussian/input/parsers/_gjf_file_extractors.py +58 -0
  96. molop/io/logic/gaussian/log/__init__.py +0 -0
  97. molop/io/logic/gaussian/log/frame_models/G16Components.py +1520 -0
  98. molop/io/logic/gaussian/log/frame_models/G16LogFileFrame.py +146 -0
  99. molop/io/logic/gaussian/log/frame_models/__init__.py +0 -0
  100. molop/io/logic/gaussian/log/frame_parsers/G16LogFileFrameParser.py +342 -0
  101. molop/io/logic/gaussian/log/frame_parsers/__init__.py +0 -0
  102. molop/io/logic/gaussian/log/frame_parsers/_g16_extractors.py +888 -0
  103. molop/io/logic/gaussian/log/frame_parsers/_g16_shared.py +217 -0
  104. molop/io/logic/gaussian/log/locators.py +73 -0
  105. molop/io/logic/gaussian/log/models/G16LogFile.py +373 -0
  106. molop/io/logic/gaussian/log/models/__init__.py +0 -0
  107. molop/io/logic/gaussian/log/parsers/G16LogFileParser.py +345 -0
  108. molop/io/logic/gaussian/log/parsers/__init__.py +0 -0
  109. molop/io/logic/gaussian/log/parsers/_g16_log_file_extractors.py +208 -0
  110. molop/io/logic/gaussian/log/parsers/_g16_log_patterns.py +791 -0
  111. molop/io/logic/gaussian/log/parsers/_g16log_archive_tail.py +302 -0
  112. molop/io/logic/orca/__init__.py +1 -0
  113. molop/io/logic/orca/common.py +330 -0
  114. molop/io/logic/orca/input/__init__.py +0 -0
  115. molop/io/logic/orca/input/_orca_inp_renderer.py +277 -0
  116. molop/io/logic/orca/input/frame_models/ORCAInpFileFrame.py +113 -0
  117. molop/io/logic/orca/input/frame_models/__init__.py +0 -0
  118. molop/io/logic/orca/input/frame_parsers/ORCAInpFileFrameParser.py +188 -0
  119. molop/io/logic/orca/input/frame_parsers/__init__.py +0 -0
  120. molop/io/logic/orca/input/frame_parsers/_orca_inp_blocks.py +186 -0
  121. molop/io/logic/orca/input/frame_parsers/_orca_inp_geometry.py +593 -0
  122. molop/io/logic/orca/input/frame_parsers/_orca_inp_patterns.py +44 -0
  123. molop/io/logic/orca/input/frame_parsers/_orca_inp_resources.py +73 -0
  124. molop/io/logic/orca/input/frame_parsers/_orca_inp_semantics.py +1302 -0
  125. molop/io/logic/orca/input/frame_parsers/_orca_inp_tokens.py +51 -0
  126. molop/io/logic/orca/input/models/ORCAInpFile.py +88 -0
  127. molop/io/logic/orca/input/models/__init__.py +0 -0
  128. molop/io/logic/orca/input/parsers/ORCAInpFileParser.py +115 -0
  129. molop/io/logic/orca/input/parsers/__init__.py +0 -0
  130. molop/io/logic/orca/input/parsers/_orca_inp_file_extractors.py +102 -0
  131. molop/io/logic/orca/input/parsers/_orca_inp_metadata.py +15 -0
  132. molop/io/logic/orca/log/__init__.py +0 -0
  133. molop/io/logic/orca/log/frame_models/ORCALogFileFrame.py +39 -0
  134. molop/io/logic/orca/log/frame_models/__init__.py +0 -0
  135. molop/io/logic/orca/log/frame_parsers/ORCALogFileFrameParser.py +204 -0
  136. molop/io/logic/orca/log/frame_parsers/__init__.py +0 -0
  137. molop/io/logic/orca/log/frame_parsers/_orca_extractors.py +655 -0
  138. molop/io/logic/orca/log/locators.py +74 -0
  139. molop/io/logic/orca/log/models/ORCALogFile.py +36 -0
  140. molop/io/logic/orca/log/models/__init__.py +0 -0
  141. molop/io/logic/orca/log/parsers/ORCALogFileParser.py +253 -0
  142. molop/io/logic/orca/log/parsers/__init__.py +0 -0
  143. molop/io/logic/orca/log/parsers/_orca_log_file_extractors.py +67 -0
  144. molop/io/logic/orca/log/parsers/_orca_log_patterns.py +220 -0
  145. molop/io/logic/orca/log/parsers/_orca_log_shared.py +48 -0
  146. molop/io/logic/xtb/__init__.py +1 -0
  147. molop/io/logic/xtb/common.py +49 -0
  148. molop/io/logic/xtb/output/__init__.py +1 -0
  149. molop/io/logic/xtb/output/frame_models/XTBOutputFileFrame.py +65 -0
  150. molop/io/logic/xtb/output/frame_models/__init__.py +1 -0
  151. molop/io/logic/xtb/output/frame_parsers/XTBOutputFileFrameParser.py +182 -0
  152. molop/io/logic/xtb/output/frame_parsers/__init__.py +1 -0
  153. molop/io/logic/xtb/output/locators.py +34 -0
  154. molop/io/logic/xtb/output/models/XTBOutputFile.py +48 -0
  155. molop/io/logic/xtb/output/models/__init__.py +1 -0
  156. molop/io/logic/xtb/output/parsers/XTBOutputFileParser.py +173 -0
  157. molop/io/logic/xtb/output/parsers/__init__.py +1 -0
  158. molop/io/logic/xtb/output/parsers/_xtb_output_extractors.py +765 -0
  159. molop/io/logic/xtb/output/parsers/_xtb_output_patterns.py +281 -0
  160. molop/py.typed +1 -0
  161. molop/structure/FormatConverter.py +152 -0
  162. molop/structure/GeometryTransformation.py +491 -0
  163. molop/structure/StructureTransformation.py +1222 -0
  164. molop/structure/__init__.py +7 -0
  165. molop/structure/utils.py +108 -0
  166. molop/unit/__init__.py +35 -0
  167. molop/utils/__init__.py +7 -0
  168. molop/utils/consts.py +440 -0
  169. molop/utils/errors.py +19 -0
  170. molop/utils/functions.py +163 -0
  171. molop/utils/progressbar.py +215 -0
  172. molop/utils/types.py +123 -0
  173. molop-0.2.2.dist-info/METADATA +227 -0
  174. molop-0.2.2.dist-info/RECORD +177 -0
  175. molop-0.2.2.dist-info/WHEEL +4 -0
  176. molop-0.2.2.dist-info/entry_points.txt +2 -0
  177. molop-0.2.2.dist-info/licenses/LICENSE +9 -0
molop/__init__.py ADDED
@@ -0,0 +1,29 @@
1
+ """
2
+ Author: TMJ
3
+ Date: 2024-10-19 09:57:26
4
+ LastEditors: TMJ
5
+ LastEditTime: 2026-02-05 16:37:11
6
+ Description: MolOP is a toolbox for molecule operations and QM information extraction.
7
+ """
8
+
9
+ import importlib.metadata
10
+
11
+ # Load RDKit's native Chem extension before MolOP imports Open Babel.
12
+ from rdkit import Chem as _rdkit_chem # noqa: F401
13
+
14
+ from molop.config import molopconfig, moloplogger
15
+ from molop.io import AutoParser
16
+
17
+
18
+ try:
19
+ __version__ = importlib.metadata.version("molop")
20
+ except importlib.metadata.PackageNotFoundError:
21
+ __version__ = "unknown"
22
+
23
+
24
+ __all__ = [
25
+ "__version__",
26
+ "AutoParser",
27
+ "molopconfig",
28
+ "moloplogger",
29
+ ]
molop/cli/__init__.py ADDED
File without changes