chemparseplot 0.1.0__tar.gz → 1.1.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 (36) hide show
  1. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/.gitignore +1 -0
  2. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/PKG-INFO +35 -14
  3. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/_version.py +2 -2
  4. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/__init__.py +1 -1
  5. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/eon/minimization.py +1 -1
  6. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/eon/saddle_search.py +7 -7
  7. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/orca/neb/interp.py +1 -1
  8. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/sella/saddle_search.py +1 -1
  9. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/plot/geomscan.py +1 -1
  10. chemparseplot-1.1.0/chemparseplot/plot/neb.py +534 -0
  11. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/plot/structs.py +1 -1
  12. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/util.py +1 -1
  13. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/pyproject.toml +17 -31
  14. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/readme.md +27 -11
  15. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/tests/parse/orca/test_interp.py +1 -1
  16. chemparseplot-0.1.0/chemparseplot/analyze/dist.py +0 -130
  17. chemparseplot-0.1.0/chemparseplot/analyze/use_ira.py +0 -73
  18. chemparseplot-0.1.0/chemparseplot/basetypes.py +0 -90
  19. chemparseplot-0.1.0/chemparseplot/plot/_aids.py +0 -9
  20. chemparseplot-0.1.0/chemparseplot/plot/_surfaces.py +0 -896
  21. chemparseplot-0.1.0/chemparseplot/plot/neb.py +0 -541
  22. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/LICENSE +0 -0
  23. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/__init__.py +0 -0
  24. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/converter.py +0 -0
  25. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/eon/gprd.py +0 -0
  26. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/eon/neb.py +0 -0
  27. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/file_.py +0 -0
  28. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/orca/__init__.py +0 -0
  29. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/orca/geomscan.py +0 -0
  30. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/parse/patterns.py +0 -0
  31. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/plot/__init__.py +0 -0
  32. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/plot/theme.py +0 -0
  33. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/chemparseplot/units.py +0 -0
  34. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/tests/parse/orca/test_geomscan.py +0 -0
  35. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/tests/parse/test_converter.py +0 -0
  36. {chemparseplot-0.1.0 → chemparseplot-1.1.0}/tests/parse/test_patterns.py +0 -0
@@ -1,3 +1,4 @@
1
+ .pixi
1
2
  apidocs/*
2
3
  ### Generated by gibo (https://github.com/simonwhitaker/gibo)
3
4
  ### https://raw.github.com/github/gitignore/4488915eec0b3a45b5c63ead28f286819c0917de/Python.gitignore
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chemparseplot
3
- Version: 0.1.0
3
+ Version: 1.1.0
4
4
  Summary: Parsers and plotting tools for computational chemistry
5
5
  Project-URL: Documentation, https://github.com/HaoZeke/chemparseplot#readme
6
6
  Project-URL: Issues, https://github.com/HaoZeke/chemparseplot/issues
@@ -12,14 +12,14 @@ Keywords: compchem,parser,plot
12
12
  Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
18
  Classifier: Programming Language :: Python :: Implementation :: CPython
20
- Requires-Python: >=3.9
19
+ Requires-Python: >=3.10
21
20
  Requires-Dist: numpy>=1.26.2
22
21
  Requires-Dist: pint>=0.22
22
+ Requires-Dist: rgpycrumbs>=1.1.0
23
23
  Provides-Extra: doc
24
24
  Requires-Dist: mdit-py-plugins>=0.3.4; extra == 'doc'
25
25
  Requires-Dist: myst-nb>=1; extra == 'doc'
@@ -31,22 +31,29 @@ Requires-Dist: sphinx-sitemap>=2.5.1; extra == 'doc'
31
31
  Requires-Dist: sphinx-togglebutton>=0.3.2; extra == 'doc'
32
32
  Requires-Dist: sphinx>=7.2.6; extra == 'doc'
33
33
  Requires-Dist: sphinxcontrib-apidoc>=0.4; extra == 'doc'
34
+ Provides-Extra: lint
35
+ Requires-Dist: ruff>=0.1.6; extra == 'lint'
34
36
  Provides-Extra: plot
35
37
  Requires-Dist: cmcrameri>=1.7; extra == 'plot'
36
38
  Requires-Dist: matplotlib>=3.8.2; extra == 'plot'
39
+ Provides-Extra: test
40
+ Requires-Dist: pytest-cov>=4.1.0; extra == 'test'
41
+ Requires-Dist: pytest>=7.4.3; extra == 'test'
37
42
  Description-Content-Type: text/markdown
38
43
 
39
44
 
40
45
  # Table of Contents
41
46
 
42
- 1. [About](#orgea43256)
43
- 1. [Features](#org6a31408)
44
- 1. [Supported Engines [WIP]](#orgbfa09d8)
45
- 2. [Rationale](#org4c00d67)
46
- 2. [License](#orge2168a3)
47
+ - [About](#org1aaacbd)
48
+ - [Ecosystem Overview](#org86a8ea7)
49
+ - [Features](#org2d23f41)
50
+ - [Supported Engines [WIP]](#orgd14b359)
51
+ - [Rationale](#orgd89d807)
52
+ - [License](#orgef56819)
47
53
 
48
54
 
49
- <a id="orgea43256"></a>
55
+
56
+ <a id="org1aaacbd"></a>
50
57
 
51
58
  # About
52
59
 
@@ -57,15 +64,29 @@ Description-Content-Type: text/markdown
57
64
  A **pure-python**<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup> project to provide unit-aware uniform visualizations
58
65
  of common computational chemistry tasks. Essentially this means we provide:
59
66
 
67
+ - Parsers for various computational chemistry software outputs
60
68
  - Plotting scripts for specific workflows
61
- - Parsers for various software outputs
69
+
70
+ Computational tasks (surface fitting, structure analysis, interpolation) are
71
+ handled by [`rgpycrumbs`](https://github.com/HaoZeke/rgpycrumbs), which is a required dependency. `chemparseplot` parses
72
+ output files, delegates heavy computation to `rgpycrumbs`, and produces
73
+ publication-quality plots.
62
74
 
63
75
  This is a spin-off from `wailord` ([here](https://wailord.xyz)) which is meant to handle aggregated
64
76
  runs in a specific workflow, while here the goal is to do no input handling and
65
77
  very pragmatic output parsing, with the goal of generating uniform plots.
66
78
 
67
79
 
68
- <a id="org6a31408"></a>
80
+ <a id="org86a8ea7"></a>
81
+
82
+ ## Ecosystem Overview
83
+
84
+ `chemparseplot` is part of the `rgpycrumbs` suite of interlinked libraries.
85
+
86
+ ![img](branding/logo/ecosystem.png)
87
+
88
+
89
+ <a id="org2d23f41"></a>
69
90
 
70
91
  ## Features
71
92
 
@@ -75,7 +96,7 @@ very pragmatic output parsing, with the goal of generating uniform plots.
75
96
  - Via `pint`
76
97
 
77
98
 
78
- <a id="orgbfa09d8"></a>
99
+ <a id="orgd14b359"></a>
79
100
 
80
101
  ### Supported Engines [WIP]
81
102
 
@@ -85,7 +106,7 @@ very pragmatic output parsing, with the goal of generating uniform plots.
85
106
  coordinate)
86
107
 
87
108
 
88
- <a id="org4c00d67"></a>
109
+ <a id="orgd89d807"></a>
89
110
 
90
111
  ## Rationale
91
112
 
@@ -96,7 +117,7 @@ either Bohr/Hartree or Angstron/eV or whatever.
96
117
  Also I couldn't find (m)any scripts using the scientific colorschemes.
97
118
 
98
119
 
99
- <a id="orge2168a3"></a>
120
+ <a id="orgef56819"></a>
100
121
 
101
122
  # License
102
123
 
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.1.0'
32
- __version_tuple__ = version_tuple = (0, 1, 0)
31
+ __version__ = version = '1.1.0'
32
+ __version_tuple__ = version_tuple = (1, 1, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -2,4 +2,4 @@
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
4
 
5
- from chemparseplot import basetypes, parse, units
5
+ from chemparseplot import parse, units
@@ -8,7 +8,7 @@ def min_e_result(eresp: Path) -> dict:
8
8
  """Reads and parses the results.dat file.
9
9
 
10
10
  Args:
11
- eresp: Path to the EON results directory.
11
+ eresp: Path to the eOn results directory.
12
12
 
13
13
  Returns:
14
14
  A dictionary containing the parsed data from results.dat, or None if the file
@@ -10,7 +10,7 @@ from rgpycrumbs.parsers.bless import BLESS_LOG
10
10
  from rgpycrumbs.parsers.common import _NUM
11
11
  from rgpycrumbs.search.helpers import tail
12
12
 
13
- from chemparseplot.basetypes import DimerOpt, MolGeom, SaddleMeasure, SpinID
13
+ from rgpycrumbs.basetypes import DimerOpt, MolGeom, SaddleMeasure, SpinID
14
14
 
15
15
 
16
16
  class EONSaddleStatus(Enum):
@@ -72,7 +72,7 @@ def _read_results_dat(eresp: Path) -> dict:
72
72
  """Reads and parses the results.dat file.
73
73
 
74
74
  Args:
75
- eresp: Path to the EON results directory.
75
+ eresp: Path to the eOn results directory.
76
76
 
77
77
  Returns:
78
78
  A dictionary containing the parsed data from results.dat, or None if the file
@@ -103,10 +103,10 @@ def _read_results_dat(eresp: Path) -> dict:
103
103
 
104
104
 
105
105
  def _find_log_file(eresp: Path) -> Path | None:
106
- """Finds the most recent, valid log file within the EON results directory.
106
+ """Finds the most recent, valid log file within the eOn results directory.
107
107
 
108
108
  Args:
109
- eresp: Path to the EON results directory.
109
+ eresp: Path to the eOn results directory.
110
110
 
111
111
  Returns:
112
112
  Path to the chosen log file, or None if no suitable log file is found.
@@ -182,7 +182,7 @@ def _extract_saddle_info(
182
182
 
183
183
  Args:
184
184
  log_data: A list of strings representing the lines of the log file.
185
- eresp: Path to the EON results directory.
185
+ eresp: Path to the eOn results directory.
186
186
  is_gprd: Boolean flag indicating whether the GPRD method was used.
187
187
 
188
188
  Returns:
@@ -245,10 +245,10 @@ def _get_methods(eresp: Path) -> DimerOpt:
245
245
 
246
246
 
247
247
  def parse_eon_saddle(eresp: Path, rloc: "SpinID") -> "SaddleMeasure":
248
- """Parses EON saddle point search results from a directory.
248
+ """Parses eOn saddle point search results from a directory.
249
249
 
250
250
  Args:
251
- eresp: Path to the directory containing EON results.
251
+ eresp: Path to the directory containing eOn results.
252
252
  rloc: A SpinID object.
253
253
 
254
254
  Returns:
@@ -14,7 +14,7 @@ import re
14
14
 
15
15
  import chemparseplot.parse.converter as conv
16
16
  import chemparseplot.parse.patterns as pat
17
- from chemparseplot.basetypes import nebiter, nebpath
17
+ from rgpycrumbs.basetypes import nebiter, nebpath
18
18
  from chemparseplot.units import Q_
19
19
 
20
20
  # fmt: off
@@ -5,7 +5,7 @@ from collections import Counter
5
5
  from ase.io import read
6
6
  from rgpycrumbs.time.helpers import one_day_tdelta
7
7
 
8
- from chemparseplot.basetypes import SaddleMeasure, SpinID
8
+ from rgpycrumbs.basetypes import SaddleMeasure, SpinID
9
9
  import ase
10
10
 
11
11
  import datetime
@@ -1,6 +1,6 @@
1
1
  import matplotlib.pyplot as plt
2
2
 
3
- from chemparseplot.plot._aids import spline_interp
3
+ from rgpycrumbs.interpolation import spline_interp
4
4
  from chemparseplot.plot.structs import BasePlotter
5
5
 
6
6