digichem-core 6.10.1__py3-none-any.whl → 7.0.0__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 (45) hide show
  1. digichem/__init__.py +2 -2
  2. digichem/config/base.py +11 -2
  3. digichem/config/util.py +3 -2
  4. digichem/file/prattle.py +9 -7
  5. digichem/image/render.py +6 -4
  6. digichem/image/spectroscopy.py +17 -4
  7. digichem/input/__init__.py +1 -1
  8. digichem/input/digichem_input.py +39 -34
  9. digichem/misc/io.py +11 -0
  10. digichem/parse/base.py +8 -6
  11. digichem/parse/cclib.py +57 -17
  12. digichem/parse/dump.py +31 -35
  13. digichem/parse/gaussian.py +2 -2
  14. digichem/parse/pyscf.py +13 -3
  15. digichem/parse/turbomole.py +2 -3
  16. digichem/parse/util.py +6 -5
  17. digichem/result/alignment/base.py +2 -2
  18. digichem/result/atom.py +4 -4
  19. digichem/result/base.py +53 -5
  20. digichem/result/dipole_moment.py +1 -1
  21. digichem/result/emission.py +5 -5
  22. digichem/result/energy.py +8 -8
  23. digichem/result/excited_state.py +20 -13
  24. digichem/result/ground_state.py +2 -2
  25. digichem/result/metadata.py +51 -25
  26. digichem/result/nmr.py +37 -28
  27. digichem/result/orbital.py +3 -3
  28. digichem/result/result.py +14 -14
  29. digichem/result/soc.py +3 -3
  30. digichem/result/spectroscopy.py +5 -4
  31. digichem/result/tdm.py +5 -5
  32. digichem/result/vibration.py +15 -6
  33. digichem/test/conftest.py +5 -0
  34. digichem/test/mock/cubegen +87172 -0
  35. digichem/test/mock/formchk +9456 -0
  36. digichem/test/test_image.py +54 -42
  37. digichem/test/test_input.py +17 -3
  38. digichem/test/test_parsing.py +9 -0
  39. digichem/test/test_prattle.py +31 -2
  40. digichem/test/util.py +2 -0
  41. {digichem_core-6.10.1.dist-info → digichem_core-7.0.0.dist-info}/METADATA +1 -1
  42. {digichem_core-6.10.1.dist-info → digichem_core-7.0.0.dist-info}/RECORD +45 -43
  43. {digichem_core-6.10.1.dist-info → digichem_core-7.0.0.dist-info}/WHEEL +0 -0
  44. {digichem_core-6.10.1.dist-info → digichem_core-7.0.0.dist-info}/licenses/COPYING.md +0 -0
  45. {digichem_core-6.10.1.dist-info → digichem_core-7.0.0.dist-info}/licenses/LICENSE +0 -0
@@ -8,8 +8,10 @@ from digichem.image.orbitals import Orbital_diagram_maker
8
8
  from digichem.image.spectroscopy import Absorption_graph_maker, Emission_graph_maker, \
9
9
  Frequency_graph_maker, NMR_graph_maker, NMR_graph_zoom_maker
10
10
  from digichem.image.structure import Skeletal_image_maker
11
- from digichem.image.vmd import Structure_image_maker, Orbital_image_maker, Density_image_maker, \
12
- Combined_orbital_image_maker, Permanent_dipole_image_maker, Transition_dipole_image_maker
11
+ import digichem.image.vmd
12
+ import digichem.image.render
13
+
14
+
13
15
  from digichem.parse.util import open_for_parsing, parse_calculation
14
16
 
15
17
  from digichem.test.util import digichem_options, data_directory
@@ -17,7 +19,9 @@ from digichem.test.test_result import gaussian_ES_result, turbomole_ES_result, o
17
19
  gaussian_opt_result, turbomole_opt_result, orca_opt_result, orca_opt_freq_result, \
18
20
  orca_nmr_result
19
21
 
20
- HAS_VMD = shutil.which("vmd")
22
+ HAS_VMD = shutil.which(digichem.config.get_config()['render']['vmd']['executable'])
23
+ HAS_BLENDER = shutil.which(digichem.config.get_config()['render']['batoms']['blender'])
24
+
21
25
 
22
26
  @pytest.mark.parametrize("result_set", [
23
27
  pytest.lazy_fixture("gaussian_ES_result"),
@@ -176,14 +180,14 @@ def test_2d_diagram(result_set, tmp_path, digichem_options):
176
180
  assert Path(tmp_path, "tmp.png").exists()
177
181
 
178
182
 
179
- @pytest.mark.skipif(not HAS_VMD,
180
- reason="No VMD available")
181
183
  @pytest.mark.parametrize("cube_file", [
182
184
  Path(data_directory(), "Cubes/Pyridine.HOMO.cube")
183
185
  ], ids = ["Gaussian"])
184
186
  @pytest.mark.parametrize("maker_cls", [
185
- Structure_image_maker,
186
- Orbital_image_maker,
187
+ pytest.param(digichem.image.vmd.Structure_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
188
+ pytest.param(digichem.image.vmd.Orbital_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
189
+ pytest.param(digichem.image.render.Structure_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
190
+ pytest.param(digichem.image.render.Orbital_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
187
191
  ])
188
192
  def test_3d_image(cube_file, maker_cls, tmp_path, digichem_options):
189
193
  """Can we make a 3D structure image?"""
@@ -197,21 +201,17 @@ def test_3d_image(cube_file, maker_cls, tmp_path, digichem_options):
197
201
  assert Path(tmp_path, "tmp.x0y0z0.png").exists()
198
202
 
199
203
 
200
- # @pytest.mark.parametrize("result_path", [
201
- # Path(data_directory(), "Pyridine/Gaussian 16 Optimisation Frequencies PBE1PBE (GD3BJ) Toluene 6-31G(d,p).tar.gz")
202
- # ], ids = ["Gaussian"])
203
- # @pytest.mark.parametrize("density", [
204
- # "SCF"
205
- # ])
206
-
207
- @pytest.mark.skipif(not HAS_VMD,
208
- reason="No VMD available")
209
204
  @pytest.mark.parametrize("cube_file", [
210
205
  Path(data_directory(), "Cubes/Pyridine.SCF.cube")
211
206
  ], ids = ["Gaussian"])
212
- def test_density_image(cube_file, tmp_path, digichem_options):
207
+ @pytest.mark.parametrize("maker_cls", [
208
+ pytest.param(digichem.image.vmd.Density_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
209
+ pytest.param(digichem.image.render.Density_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
210
+ ], ids = ["vmd", "batoms"])
211
+ def test_density_image(cube_file, maker_cls, tmp_path, digichem_options):
213
212
  """Can we make a 3D structure image?"""
214
- maker = Density_image_maker.from_options(
213
+
214
+ maker = maker_cls.from_options(
215
215
  tmp_path / "tmp.png",
216
216
  cube_file = cube_file,
217
217
  options = digichem_options
@@ -221,14 +221,16 @@ def test_density_image(cube_file, tmp_path, digichem_options):
221
221
  assert Path(tmp_path, "tmp.x0y0z0.png").exists()
222
222
 
223
223
 
224
- @pytest.mark.skipif(not HAS_VMD,
225
- reason="No VMD available")
226
224
  @pytest.mark.parametrize("cube_file", [
227
225
  Path(data_directory(), "Cubes/Benzene.anion.spin.cube")
228
226
  ], ids = ["Gaussian"])
229
- def test_spin_density_image(cube_file, tmp_path, digichem_options):
227
+ @pytest.mark.parametrize("maker_cls", [
228
+ pytest.param(digichem.image.vmd.Spin_density_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
229
+ pytest.param(digichem.image.render.Spin_density_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
230
+ ], ids = ["vmd", "batoms"])
231
+ def test_spin_density_image(cube_file, maker_cls, tmp_path, digichem_options):
230
232
  """Can we make a 3D structure image?"""
231
- maker = Density_image_maker.from_options(
233
+ maker = maker_cls.from_options(
232
234
  tmp_path / "tmp.png",
233
235
  cube_file = cube_file,
234
236
  options = digichem_options
@@ -238,14 +240,16 @@ def test_spin_density_image(cube_file, tmp_path, digichem_options):
238
240
  assert Path(tmp_path, "tmp.x0y0z0.png").exists()
239
241
 
240
242
 
241
- @pytest.mark.skipif(not HAS_VMD,
242
- reason="No VMD available")
243
243
  @pytest.mark.parametrize("homo_cube, lumo_cube", [
244
244
  [Path(data_directory(), "Cubes/Pyridine.HOMO.cube"), Path(data_directory(), "Cubes/Pyridine.LUMO.cube")]
245
245
  ], ids = ["Gaussian"])
246
- def test_combined_orbital_image(homo_cube, lumo_cube, tmp_path, digichem_options):
246
+ @pytest.mark.parametrize("maker_cls", [
247
+ pytest.param(digichem.image.vmd.Combined_orbital_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
248
+ pytest.param(digichem.image.render.Combined_orbital_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
249
+ ], ids = ["vmd", "batoms"])
250
+ def test_combined_orbital_image(homo_cube, maker_cls, lumo_cube, tmp_path, digichem_options):
247
251
  """Can we make a 3D structure image?"""
248
- maker = Combined_orbital_image_maker.from_options(
252
+ maker = maker_cls.from_options(
249
253
  tmp_path / "tmp.png",
250
254
  HOMO_cube_file = homo_cube,
251
255
  LUMO_cube_file = lumo_cube,
@@ -256,14 +260,16 @@ def test_combined_orbital_image(homo_cube, lumo_cube, tmp_path, digichem_options
256
260
  assert Path(tmp_path, "tmp.x0y0z0.png").exists()
257
261
 
258
262
 
259
- @pytest.mark.skipif(not HAS_VMD,
260
- reason="No VMD available")
261
263
  @pytest.mark.parametrize("cube_file", [
262
264
  Path(data_directory(), "Cubes/Benzene.anion.AHOMO.cube")
263
265
  ], ids = ["Gaussian"])
264
- def test_unrestricted_orbital_image(cube_file, tmp_path, digichem_options):
266
+ @pytest.mark.parametrize("maker_cls", [
267
+ pytest.param(digichem.image.vmd.Alpha_orbital_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
268
+ pytest.param(digichem.image.render.Alpha_orbital_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
269
+ ], ids = ["vmd", "batoms"])
270
+ def test_unrestricted_orbital_image(cube_file, maker_cls, tmp_path, digichem_options):
265
271
  """Can we make a 3D structure image?"""
266
- maker = Orbital_image_maker.from_options(
272
+ maker = maker_cls.from_options(
267
273
  tmp_path / "tmp.png",
268
274
  cube_file = cube_file,
269
275
  options = digichem_options
@@ -273,19 +279,21 @@ def test_unrestricted_orbital_image(cube_file, tmp_path, digichem_options):
273
279
  assert Path(tmp_path, "tmp.x0y0z0.png").exists()
274
280
 
275
281
 
276
- @pytest.mark.skipif(not HAS_VMD,
277
- reason="No VMD available")
278
282
  @pytest.mark.parametrize("result_path, cube_file", [
279
283
  [
280
284
  Path(data_directory(), "Pyridine/Gaussian 16 Optimisation Frequencies PBE1PBE (GD3BJ) Toluene 6-31G(d,p).tar.gz"),
281
285
  Path(data_directory(), "Cubes/Pyridine.HOMO.cube"),
282
286
  ]
283
287
  ])
284
- def test_pdm_image(result_path, cube_file, tmp_path, digichem_options):
288
+ @pytest.mark.parametrize("maker_cls", [
289
+ pytest.param(digichem.image.vmd.Permanent_dipole_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
290
+ pytest.param(digichem.image.render.Permanent_dipole_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
291
+ ], ids = ["vmd", "batoms"])
292
+ def test_pdm_image(result_path, cube_file, maker_cls, tmp_path, digichem_options):
285
293
  """Can we make a 3D structure image?"""
286
294
  with open_for_parsing(result_path) as open_files:
287
295
  result_set = parse_calculation(*open_files, options = digichem_options)
288
- maker = Permanent_dipole_image_maker.from_options(
296
+ maker = maker_cls.from_options(
289
297
  tmp_path / "tmp.png",
290
298
  cube_file = cube_file,
291
299
  dipole_moment = result_set.dipole_moment,
@@ -296,19 +304,21 @@ def test_pdm_image(result_path, cube_file, tmp_path, digichem_options):
296
304
  assert Path(tmp_path, "tmp.x0y0z0.png").exists()
297
305
 
298
306
 
299
- @pytest.mark.skipif(not HAS_VMD,
300
- reason="No VMD available")
301
307
  @pytest.mark.parametrize("result_path, cube_file", [
302
308
  [
303
309
  Path(data_directory(), "Pyridine/Gaussian 16 Excited States TDA Optimised S(1) PBE1PBE (GD3BJ) Toluene 6-31G(d,p).tar.gz"),
304
310
  Path(data_directory(), "Cubes/Pyridine.HOMO.cube"),
305
311
  ]
306
312
  ])
307
- def test_tdm_image(result_path, cube_file, tmp_path, digichem_options):
313
+ @pytest.mark.parametrize("maker_cls", [
314
+ pytest.param(digichem.image.vmd.Transition_dipole_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
315
+ pytest.param(digichem.image.render.Transition_dipole_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
316
+ ], ids = ["vmd", "batoms"])
317
+ def test_tdm_image(result_path, cube_file, maker_cls, tmp_path, digichem_options):
308
318
  """Can we make a 3D structure image?"""
309
319
  with open_for_parsing(result_path) as open_files:
310
320
  result_set = parse_calculation(*open_files, options = digichem_options)
311
- maker = Transition_dipole_image_maker.from_options(
321
+ maker = maker_cls.from_options(
312
322
  tmp_path / "tmp.png",
313
323
  cube_file = cube_file,
314
324
  dipole_moment = result_set.excited_states.find("S(1)").transition_dipole_moment.electric,
@@ -320,14 +330,16 @@ def test_tdm_image(result_path, cube_file, tmp_path, digichem_options):
320
330
  assert Path(tmp_path, "tmp.x0y0z0.png").exists()
321
331
 
322
332
 
323
- @pytest.mark.skipif(not HAS_VMD,
324
- reason="No VMD available")
325
333
  @pytest.mark.parametrize("cube_file", [
326
334
  Path(data_directory(), "Cubes/Pyridine.HOMO.cube"),
327
335
  ])
328
- def test_nto_image(cube_file, tmp_path, digichem_options):
336
+ @pytest.mark.parametrize("maker_cls", [
337
+ pytest.param(digichem.image.vmd.Orbital_image_maker, marks = pytest.mark.skipif(not HAS_VMD, reason = "VMD is not available")),
338
+ pytest.param(digichem.image.render.Orbital_image_maker, marks = pytest.mark.skipif(not HAS_BLENDER, reason = "Blender is not available")),
339
+ ], ids = ["vmd", "batoms"])
340
+ def test_nto_image(cube_file, maker_cls, tmp_path, digichem_options):
329
341
  """Can we make a 3D structure image?"""
330
- maker = Orbital_image_maker.from_options(
342
+ maker = maker_cls.from_options(
331
343
  tmp_path / "tmp.png",
332
344
  cube_file = cube_file,
333
345
  options = digichem_options
@@ -4,14 +4,14 @@ import pytest
4
4
  from pathlib import Path
5
5
 
6
6
  from digichem.test.util import pyridine_si_v2, pyridine_si_v1, pyridine_cml,\
7
- result_files
7
+ result_files, ethane_xyz, benzene_cdx, cyclopentane_com
8
8
  from digichem.input.digichem_input import si_from_file
9
9
 
10
10
  @pytest.mark.parametrize("file_path", [
11
11
  pyridine_si_v2,
12
12
  pyridine_si_v1
13
13
  ])
14
- def test_input_reading(file_path):
14
+ def test_si_reading(file_path):
15
15
  """
16
16
  Test whether we can correctly read from an existing si file.
17
17
  """
@@ -51,7 +51,7 @@ def test_si_writing(tmp_path):
51
51
  [result_files['turbomole'][0], "60a8ebd9e701b849cfccd9cbb41684519a7fdf0b"],
52
52
  [result_files['orca'][0], "e48e7f653f4e67c1bd4c5c4bb76405fad2d441d0"],
53
53
  ])
54
- def test_input_history(file_path, sha):
54
+ def test_si_history(file_path, sha):
55
55
  """
56
56
  Test whether the history attribute is set properly.
57
57
  """
@@ -62,3 +62,17 @@ def test_input_history(file_path, sha):
62
62
  dump = si_file.dict
63
63
 
64
64
  assert dump['history'] == sha
65
+
66
+
67
+ @pytest.mark.parametrize("file_path, format", [
68
+ (cyclopentane_com, "mol"),
69
+ (ethane_xyz, "cml"),
70
+ (benzene_cdx, "xyz"),
71
+ (result_files['gaussian'][0], "com")
72
+ ])
73
+ def test_si_file_convert(file_path, format, tmp_path):
74
+ """
75
+ Test whether we can convert from arbitrary formats to another format.
76
+ """
77
+ si_file = si_from_file(file_path)
78
+ si_file.to_format(format, (tmp_path / "file").with_suffix("." + format))
@@ -144,3 +144,12 @@ def test_turbomole_archives(result_files, num_archives, digichem_options):
144
144
 
145
145
  finally:
146
146
  archive.cleanup()
147
+
148
+ def test_profile_parsing(digichem_options):
149
+ """Can we parse profile data from profile.csv?"""
150
+ src = Path(data_directory(), 'Pyridine/Gaussian 16 Excited States TDA Optimised S(1) PBE1PBE (GD3BJ) Toluene 6-31G(d,p).tar.gz')
151
+
152
+ res = parse_calculation(src, options = digichem_options)
153
+
154
+ assert res.metadata.performance is not None
155
+
@@ -1,9 +1,9 @@
1
1
  """Tests for functioning of oprattle"""
2
+ from pathlib import Path
2
3
 
3
4
  import pytest
4
5
 
5
6
  from digichem.file.prattle import Oprattle_formats, Openprattle_converter
6
-
7
7
  from digichem.test.util import ethane_xyz, benzene_cdx
8
8
 
9
9
  @pytest.mark.parametrize("readwrite", ["read", "write"])
@@ -14,14 +14,43 @@ def test_formats(readwrite):
14
14
  else:
15
15
  assert len(Oprattle_formats().write()) > 0
16
16
 
17
+
17
18
  @pytest.mark.parametrize("file_path", [
18
19
  ethane_xyz,
19
20
  benzene_cdx
20
21
  ])
21
- def test_convert(file_path):
22
+ def test_from_path(file_path):
23
+ """
24
+ Can we convert a file found on the filesystem?
25
+ """
22
26
  Openprattle_converter(input_file_path = file_path).convert("com")
23
27
 
24
28
 
29
+ @pytest.mark.parametrize("file_path, mode", [
30
+ (ethane_xyz, "r"),
31
+ (benzene_cdx, "rb")
32
+ ])
33
+ def test_from_file(file_path, mode):
34
+ """
35
+ Can we convert from an open file?
36
+ """
37
+ with open(file_path, mode) as input_file:
38
+ Openprattle_converter(input_file = input_file, input_file_type = Path(file_path).suffix[1:]).convert("com")
39
+
40
+
41
+ @pytest.mark.parametrize("file_path, mode", [
42
+ (ethane_xyz, "r"),
43
+ (benzene_cdx, "rb")
44
+ ])
45
+ def test_from_buffer(file_path, mode):
46
+ """
47
+ Can we convert from an open file?
48
+ """
49
+ with open(file_path, mode) as input_file:
50
+ data = input_file.read()
51
+ Openprattle_converter(input_file_buffer = data, input_file_type = Path(file_path).suffix[1:]).convert("com")
52
+
53
+
25
54
  @pytest.mark.parametrize("file_path", [
26
55
  ethane_xyz,
27
56
  benzene_cdx
digichem/test/util.py CHANGED
@@ -65,6 +65,8 @@ def digichem_options(tmpdir_factory):
65
65
  ),
66
66
  ]
67
67
  config.logging['render_logging'] = True
68
+ # Set blender quality as low as feasible to shorten test time.
69
+ config.render['batoms']['render_samples'] = 1
68
70
  config.validate()
69
71
  return config
70
72
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: digichem-core
3
- Version: 6.10.1
3
+ Version: 7.0.0
4
4
  Summary: Open-source library for Digichem core components
5
5
  Project-URL: Homepage, https://github.com/Digichem-Project/digichem-core
6
6
  Project-URL: Documentation, https://doc.digi-chem.co.uk
@@ -1,4 +1,4 @@
1
- digichem/__init__.py,sha256=zVk9sd1_7i7oSr7Dg9Gw-ODrlnXXHYuzyGWjGDvB6Zw,2288
1
+ digichem/__init__.py,sha256=xXiF18dE2K2qQCknOTMhJtbqi2ZYNp6nGJtkWydiXvQ,2287
2
2
  digichem/basis.py,sha256=khzIS9A_w8QH2vsXctWr16Bw5TA84_9_Fo-vuveP_5w,4875
3
3
  digichem/datas.py,sha256=t2PuQFvPb55WO_qVF3Xz67XNodQDimqYD26VkRPEWLA,433
4
4
  digichem/log.py,sha256=tjl8Er16HUsAibBZGZMu8KyT0w53YM3u0Neh_l2jD9Q,6166
@@ -6,10 +6,10 @@ digichem/memory.py,sha256=_HJMwiElr0534lr3h17WwvXOi-DxCN-bAD1Ij8Lwg6U,5638
6
6
  digichem/translate.py,sha256=YKm7wko13A17zQJW8qOT52rzp9wDmR0GDzOepuzr75I,21326
7
7
  digichem/config/README,sha256=0y5sxYPAmpD3XNzgJrr-U8xmiQbheC8bz8lvnNmsNtc,180
8
8
  digichem/config/__init__.py,sha256=wXnmk1fuNZeHOKz06wBfTUkM8-XuW08F2H8QiHyS8Xs,227
9
- digichem/config/base.py,sha256=Wlve8CSKNYB1STVPAkfHREDRUd0Xog8HmzYX1q6dMC8,25005
9
+ digichem/config/base.py,sha256=H1hHx8zh3J7PvfOpk9FAwDN_mvxPDNH_bb_1lbsmpuE,26017
10
10
  digichem/config/locations.py,sha256=Jlvql0KJrJEIO_2U6BRS5bjHelKjGGIETR9hOuNe0K0,584
11
11
  digichem/config/parse.py,sha256=amJx89JXkkEyMMSYr5GvLFnLZO3hWahuZtNlx0F0PhA,2667
12
- digichem/config/util.py,sha256=i5NgxLPcLx1RM4bArog77hsHxkQmwlqyzJbDtrozBG0,4613
12
+ digichem/config/util.py,sha256=E-5He3AbrwHNHFbBdfNMOimaDPXqtAi96l-4Acmn08o,4611
13
13
  digichem/data/README,sha256=0e46Uh0FmsWRlzx-F18cbBQXy-Lo8iJfD6Hye0c9EIU,207
14
14
  digichem/data/functionals.csv,sha256=fIuNpFLT64B3PTqmNsj5IP6RSRw8PB5y_L9MpgoBo0w,281
15
15
  digichem/data/solvents.csv,sha256=O1-Sv3KCayPvnuD9lviDK-YIolome0JxoBfjD784Kqs,4640
@@ -37,78 +37,80 @@ digichem/file/__init__.py,sha256=vcDfoYlL0YbFcCyw-3D4SiGtA-hxkFKUtP30DO-JvqE,62
37
37
  digichem/file/base.py,sha256=D9vnQpzVq7459VhH7AwkhIqN2gYQprFC7WkgKZGT0Pc,18025
38
38
  digichem/file/cube.py,sha256=C9wKnWkCnE6phI3X9xsWQr8209YgjEXGWGf_Bj_p3BY,20256
39
39
  digichem/file/fchk.py,sha256=tWhp0daZPMlYmqkGkidUFwVHTA-8wCUf6Py6CNeT7tk,4035
40
- digichem/file/prattle.py,sha256=LDayqA7TZVMJKekyl4laHePOCesfBcQ36ul0516OEfo,9927
40
+ digichem/file/prattle.py,sha256=T30754MjF56FFOrKseBRvxYnqILZ5-Emv9SNMZC1EBU,9947
41
41
  digichem/file/types.py,sha256=rLz88eFIv8uwK1jNEkQ9t9LTLTS38TbIhZ1rWC2SbvQ,3612
42
42
  digichem/image/__init__.py,sha256=T9fN41dV0oZ7dT_MES7iYaFdPgzZM5R5hhIvvhlY8U4,133
43
43
  digichem/image/base.py,sha256=6LGIYK2zB7lQxFhV5t2ZJPcpNMOqRv-JzrBJEeTF9Wg,5193
44
44
  digichem/image/excited_states.py,sha256=1YUa8KYXTvh_Vwl2DSaRwpIh15FtW18KpjLlnD8VTOk,14103
45
45
  digichem/image/graph.py,sha256=3wcembS3gcI5Ejq1lv4Sw1g_7s-fubDpiho_85kzkks,10880
46
46
  digichem/image/orbitals.py,sha256=UcPnOm3tQOdTegsVm_a7AizVe7OpBCz_4sve6u7jAvA,9705
47
- digichem/image/render.py,sha256=jeZDZoaOtvFfTjeEJA_prrXZqCFr72V6H4DD5kUBrUU,30409
48
- digichem/image/spectroscopy.py,sha256=wwguBYBwL8VNTJK5rBZbUiwaFHFLIaqBWYR3qbwDpAs,33567
47
+ digichem/image/render.py,sha256=fQu9QcuIolzoeMoaQPQo27Z-JEXUCQCWiSVWQgv2iG4,30470
48
+ digichem/image/spectroscopy.py,sha256=fgrLGL1BSUHUmYMWpSSgAbNTu6uzmYxj5a9U94QL0fQ,33892
49
49
  digichem/image/structure.py,sha256=gxgX5cXA3BaqBh5K7UPcVGWX-yG5kc6Robf5sWT1IYM,4900
50
50
  digichem/image/vmd.py,sha256=GGE35qypgBbpadHo1M929czuxM0U4NRICPkltKWEojE,39305
51
- digichem/input/__init__.py,sha256=SxCeQkUNOalYu9oxhPGHQHX6s5CqBlSVuMUt7n-ywFw,165
51
+ digichem/input/__init__.py,sha256=DJMFLt-p2DZaTdvk2zIR6gdUepsa1n0e2_mk-BB45Sk,179
52
52
  digichem/input/base.py,sha256=9nxut3IlvKSYCjRUzpi7SdlaO_4MU8KWAecV-z3T1jo,3082
53
- digichem/input/digichem_input.py,sha256=GPex3A4KmdsNF9MbDHjiMhu4jo1tv6BjKvHnNDcz2p0,19703
53
+ digichem/input/digichem_input.py,sha256=kAoLmphdIHLB4RoxHTXohTcL-L5iaYSl8peIR3vJPx8,19628
54
54
  digichem/input/gaussian.py,sha256=ZwfCA0jgHcY8JVcyyKmnchU-OyQ26-8ynQJdeYtNT7A,5651
55
55
  digichem/misc/__init__.py,sha256=gRlflbkXYyKvqeQ2KTnNAdJ00S6Vhmk-tzSVCBSiWgk,162
56
56
  digichem/misc/argparse.py,sha256=AG33L7MCi-ftb4XnvndQb4hKcorzJxESAVB0HIZRlcw,1371
57
57
  digichem/misc/base.py,sha256=ZaeeLJrRZnF66bhkGdPvhsVGgxzcV_pneESQ1ReDedc,1884
58
- digichem/misc/io.py,sha256=9ZX4GminIBQnl6ZlOyrBe5U2o0NdmGzlfYtN3k7X0mw,10732
58
+ digichem/misc/io.py,sha256=7Oqi7UQLwhCsVHdEN0n7Vubsbzk14fLSkAYXe4obPbQ,11007
59
59
  digichem/misc/layered_dict.py,sha256=Psf30UmHVHAE95RnFYiR2f7oaW05CsUhT4FtXhUtQcw,15561
60
60
  digichem/misc/text.py,sha256=FVcxf8ctt3D2yGFYgrZk3dpO48f_0aDhHiry_xGirD8,3673
61
61
  digichem/misc/time.py,sha256=Z7FWpkb8gqBHVMXdhFiBWn2VwmXuU9uaMxEKsfAH5Kw,2214
62
62
  digichem/parse/__init__.py,sha256=SIAj7do6mXRNuOEkN691Nh-je2YlZ3qL6fxnjsTE6QY,867
63
- digichem/parse/base.py,sha256=RZOuGCmXk3CyVdK6-lev-DyYWe215JYRVA-SiiXS72E,8757
64
- digichem/parse/cclib.py,sha256=QngzWGlOtfxa4JoqhSAUdK91AJUR5v-BqxDflCBFVwA,8370
65
- digichem/parse/dump.py,sha256=wd1hW7xjjXNPmmf2t3DgtU8FkcTAqYkKbJYVt2NjPIQ,9567
66
- digichem/parse/gaussian.py,sha256=8Vs07MnlboZiJDJ41dtfRwE2UBHOiVixY3-mQrcoioc,5251
63
+ digichem/parse/base.py,sha256=HV7dmHz2VqrVc2umlB93aZwe8thIqpWwrNuXKb7M0KI,8778
64
+ digichem/parse/cclib.py,sha256=fwWtKPisNA9AYSgRnyC5D6A_CTIWf-2tGWdPzYwNg6o,10084
65
+ digichem/parse/dump.py,sha256=PnVwas1sFZTG9dgjAn7VLxQ8gSzTNllE-tx_PXh51DI,9332
66
+ digichem/parse/gaussian.py,sha256=TWrNIBrxm9bgKupX6J_9beAFp-4QL57hPOo3pPyjIRA,5279
67
67
  digichem/parse/orca.py,sha256=QahMQh-rZphDzyM8Kn6xEbEB9imCWpKUhUmlOxpDio0,4680
68
- digichem/parse/pyscf.py,sha256=LsxqdDIC9KvPmbXHuKAB7t0Lg80qtWPVnfnNoc3INh0,760
69
- digichem/parse/turbomole.py,sha256=WJIjayh0LnuYlJUjDrCkzGcGW1IGUbRgWuKfcVN5LeQ,9249
70
- digichem/parse/util.py,sha256=z_BS6z0KcecKfv6SBuYKpoCBuVwtsK5EkqGbfJn9fxk,28935
68
+ digichem/parse/pyscf.py,sha256=Io13LOxnkSZ1lKFu1tSFzkDZKmFRqDyOVMBesiQIb7o,1197
69
+ digichem/parse/turbomole.py,sha256=dulO8Y5txEABnK4Ybbp97KwOmnCrJMVSJSI9427SVIo,9133
70
+ digichem/parse/util.py,sha256=QSxrRN3HFllVlsWqzTC4EKjj9w7t4kFbXuvhsMTpLIY,28930
71
71
  digichem/result/__init__.py,sha256=FUNL2pc2bP3XNVFRrlyrTppVWEsPRHcThLiVytpsH84,222
72
72
  digichem/result/angle.py,sha256=jehU0dRN4nALvUFzIdkh4GGQORq4lgXre8ZfFQMzB94,5043
73
- digichem/result/atom.py,sha256=KnXtWPvKNYnzMAw3G8USNwnoJzurXFSQmG1_JYwt8pA,27977
74
- digichem/result/base.py,sha256=SH4GAZt-6GsHihAUWLUXjnIhhp_jSmpebx2yJQkIr9M,9630
75
- digichem/result/dipole_moment.py,sha256=Pbx9o3j7ZQB5vtZlvt5yhLrvKTXpC69EGlhTXj00HT4,11075
76
- digichem/result/emission.py,sha256=0OPXNR1ZX9ALpjD0Ie5OkrOHNDDz6FsK3pK_0GyqqLI,19754
77
- digichem/result/energy.py,sha256=53Dm2kHA-x8KtDY3Wq52cPbpE5E01W1lQTNaLe0goZE,10851
78
- digichem/result/excited_state.py,sha256=N41Dm6r4C_C08jmcqiXZZdRoHGE2u9CfjTLNzLo8TAQ,34254
79
- digichem/result/ground_state.py,sha256=JMRBQ-MC2Ak8Ur-TXGzNkJtSVykkhswHPTOnttZFujE,3790
80
- digichem/result/metadata.py,sha256=sG1iRRnSsVsCc4eKEqDqiU3gr8QulnU531YN-1dWs6g,37167
73
+ digichem/result/atom.py,sha256=ZJqUj7kUAZGgzzt9P1CCjC-wyRBL26YJNzFDyOWD_gc,27990
74
+ digichem/result/base.py,sha256=Lahahog9EHEQFP--DClyhiFIoJ0bRFJN37GH-Z2Nu2c,11615
75
+ digichem/result/dipole_moment.py,sha256=1Z0qksmk7HYyov7318zWJQVXvteCo59DCCXd2rT2-hg,11082
76
+ digichem/result/emission.py,sha256=XsyOgMtxV6wg9iBpPK-3WSbcIh6ohlZtGybMkuZaEbY,19785
77
+ digichem/result/energy.py,sha256=iboiQF5Twa-TU9b_Utxg5B5U7RmL3LHtRp6XzmQHG0o,10899
78
+ digichem/result/excited_state.py,sha256=Auslt_gYx_aiuiqdIMv7t04zTTvWolA6Mnzy4TKWNYY,34563
79
+ digichem/result/ground_state.py,sha256=B8lOalD90uNq_pMHy0JhwYYY3rlWpcFlOHPLSO5CjhQ,3804
80
+ digichem/result/metadata.py,sha256=Aak2tviK2HXfbr2m97AbNW1myfWVsSBwgT1ISLRKG88,38602
81
81
  digichem/result/multi.py,sha256=IzupKHMcXTf6AReeUCjY9Szy2b4TdOHVtC2Tlb9xg0o,4330
82
- digichem/result/nmr.py,sha256=u3qXZRrTBvUnfJexrtEHZLIyQ4dq_zFDXwcC2PoEGqQ,47263
83
- digichem/result/orbital.py,sha256=6BX4GfnLJRj_AZs75FWPLFX6r0z9OL0OSh1v8EOHqws,28271
84
- digichem/result/result.py,sha256=Ih7g-ByfRG3VBt0BB4n2Ub367NLjUCCbkmekQatOjr8,9789
85
- digichem/result/soc.py,sha256=HMtjf7p7AP31AlGO2hrJ1K_dv4-HWZH0YcpJVUVgHxc,9921
86
- digichem/result/spectroscopy.py,sha256=9VV9xDEhzyF6S75MmI_c6U12U8dB1DsGKSInHAcqqRE,22978
87
- digichem/result/tdm.py,sha256=YHy3GBir537dqEFoPlGKGZUZ7Mt9Fue3ghZ-j_sZBqc,10778
88
- digichem/result/vibration.py,sha256=XXigp4ntsEOMjv9jTZNLPCj2obsdb3IMPf5xxHLhZH4,6431
82
+ digichem/result/nmr.py,sha256=oVye1S0gmZmvoOBLyaUHe7k8Oiu7LjkaRcss__Fr5Qc,47784
83
+ digichem/result/orbital.py,sha256=8oMAtYSi8hYWWsjXJC2z5UAA47h0axM24ALqIo7yxFY,28292
84
+ digichem/result/result.py,sha256=92ZszBIHYOYAJx7s-bIggrUnPo5AgQjtT-bi-tp0Jq4,9861
85
+ digichem/result/soc.py,sha256=bvz3qhpW5VjTM9c9fnLFX0XAggncT3osZxl_syxejSM,9942
86
+ digichem/result/spectroscopy.py,sha256=Au3qMGgWPL3ZpfubFRBZuKEsYXA6kdQwBSWbgSf7P40,23080
87
+ digichem/result/tdm.py,sha256=B5LEB_Rx-8z_5tjPfNj-Od1hu2QspLolqAJC1DLy0Fk,10809
88
+ digichem/result/vibration.py,sha256=bKskcbis2L8mvs8xzzG9qBNXKIK8RN0-g_mpyw1Wric,6631
89
89
  digichem/result/alignment/AA.py,sha256=957GtXeaioyH1T6cBjK6Sf-W8a_3K9vR5fi8wttkKhk,4627
90
90
  digichem/result/alignment/AAA.py,sha256=YSAhS0JWCmDnB5tHj1YLsNvSYpcg0FOfh2KNkcqeRxg,2811
91
91
  digichem/result/alignment/FAP.py,sha256=so_eTIqdFIBVHinG_17tc4n-CS4A622r4RXndVkOxw4,6527
92
92
  digichem/result/alignment/__init__.py,sha256=9OLZUCENNfsPb-_BWpRKY1y0YwPTE-Lh2Au30RrExoU,88
93
- digichem/result/alignment/base.py,sha256=KY_uQxP5NYgU7hOW028FR63xqskf2I4-wnFC_YAVYJM,11811
93
+ digichem/result/alignment/base.py,sha256=EVyk6uxuDPSuzzTiNd90zEz51qIppBkFocn1_Z2zGhM,11825
94
94
  digichem/test/__init__.py,sha256=5rcWC-jYpwJf9DZD3RUzsrZtQXGre0oFnaE3xKiZYlY,116
95
- digichem/test/conftest.py,sha256=5_KcDWY_ZaSYgib-xlA4mvefTqjbAveipcm6ePtwQcw,124
95
+ digichem/test/conftest.py,sha256=hy9geS4NwXOTrHGO-HnDP3hp_eoPGIToODBXBF3Kcuw,282
96
96
  digichem/test/test_basis.py,sha256=is1GdrWhmWJdA18fw1lagmbg8VGlX6_-LKOhjTcjHaQ,1720
97
97
  digichem/test/test_calculate.py,sha256=Zvon7TlmVLwIvtaXXMmWJrkvljJ9zWZge6zIyjbx_N0,1486
98
98
  digichem/test/test_config.py,sha256=JZGOpSAGQ70n4gGW4sCPCLycygtECOKejB9742nmnj0,2323
99
99
  digichem/test/test_cube.py,sha256=y1Cr0cz00pwSWT-z-PgUQAzp41Ttsk_Ti_eQXagzO1Q,14110
100
100
  digichem/test/test_exception.py,sha256=f-8XVQqq9gfJFpURjOoEfcC4pxieye8ZxvmguoN9QyY,530
101
101
  digichem/test/test_file.py,sha256=n2BJ55_AjNY7IGEjHjJJ-OhE4Lgn3pGyyyfnPIduges,3682
102
- digichem/test/test_image.py,sha256=x7ybEIeZg0E8ZQdkSzdy1cNWymYie6gWoTR8Q3ebcEQ,11516
103
- digichem/test/test_input.py,sha256=TLGFxsSYGKTUSO5fxjZN2VqzDZFP3AHlbrE2JGmnq8g,1787
102
+ digichem/test/test_image.py,sha256=bGb6xdn4k2VxZlVef0HI2HPrQdxx5XUTMyl97iYzzT8,13598
103
+ digichem/test/test_input.py,sha256=wOxaym4Y64t-QDHZ88ne4BZjqLjwXOQM_PxTMeInJpk,2259
104
104
  digichem/test/test_memory.py,sha256=wKxAOtDm7d9aNbpgdgjacVPCBGdDUKx5f_3OGsGuWR0,582
105
- digichem/test/test_parsing.py,sha256=c-YV8TGp08P5d2acio_5cP-qXunpyMrs6pnB7MxZ1Ww,6312
106
- digichem/test/test_prattle.py,sha256=x-CeVX3Gbs5BHGndBGrtseGZwgUm3jamxstFijmKB5w,1033
105
+ digichem/test/test_parsing.py,sha256=4cU8SJtGmF6WobVSYtFrG9DBNAxXBL-Xe_GKP1eg7kc,6656
106
+ digichem/test/test_prattle.py,sha256=dlBd38vOcF4blfBqjr6uABc6aEWdLdTSdAc08XniWGs,1865
107
107
  digichem/test/test_result.py,sha256=DmaAdSTGV6UoHigiy6P38cT3y4ef57Ji6Ot4m2BZfLs,24327
108
108
  digichem/test/test_translate.py,sha256=_3FkYottqHZGxMSTJkbcE8dQXhQlrNlVS0FjMopIwl4,3575
109
- digichem/test/util.py,sha256=jud84z2JkQAH3xi1ZnXvpJMdjlKLknz7AyoeZmdwojE,8681
110
- digichem_core-6.10.1.dist-info/METADATA,sha256=DjiNYjPql6EXEKmcByyeOni_ZUgfkc_JPzOcJeZrOKM,4099
111
- digichem_core-6.10.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
112
- digichem_core-6.10.1.dist-info/licenses/COPYING.md,sha256=d-yG6IJrlqLkuiuoOFe331YKzMRS05pnmk4e98gu9pQ,900
113
- digichem_core-6.10.1.dist-info/licenses/LICENSE,sha256=ZLlePQN2WLgdvmIGLEjjHtgIoneUGR2MgE9yjMg1JiY,1457
114
- digichem_core-6.10.1.dist-info/RECORD,,
109
+ digichem/test/util.py,sha256=p7KgyR9VGPstD7y8FH0onIxgY4YCvSCmbtJ-kJggxeA,8798
110
+ digichem/test/mock/cubegen,sha256=h2HvmW8YbmYDqycnfCJYstZ2yO1uUxErbCWFKgzXaJ8,6781858
111
+ digichem/test/mock/formchk,sha256=KZWhyJtaMXAGX1Xlx7Ikw9gbncOqLrpYkynz9IMYUlY,756867
112
+ digichem_core-7.0.0.dist-info/METADATA,sha256=CKOBSJV3CfF8Q99vu_5hHpK928UdUo32CS5kARa7bZE,4098
113
+ digichem_core-7.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
114
+ digichem_core-7.0.0.dist-info/licenses/COPYING.md,sha256=d-yG6IJrlqLkuiuoOFe331YKzMRS05pnmk4e98gu9pQ,900
115
+ digichem_core-7.0.0.dist-info/licenses/LICENSE,sha256=ZLlePQN2WLgdvmIGLEjjHtgIoneUGR2MgE9yjMg1JiY,1457
116
+ digichem_core-7.0.0.dist-info/RECORD,,