chemparseplot 1.9.4__tar.gz → 1.9.6__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.
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/PKG-INFO +1 -1
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/_version.py +2 -2
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/neb.py +20 -9
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/.gitignore +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/LICENSE +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/chemgp_hdf5.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/chemgp_jsonl.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/converter.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/_trajectory_common.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/con_io.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/dimer_trajectory.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/gprd.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/min_trajectory.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/minimization.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/neb.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/saddle_search.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/eon/stitch.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/file_.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/neb_utils.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/orca/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/orca/geomscan.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/orca/neb/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/orca/neb/interp.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/orca/neb/opi_parser.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/patterns.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/plumed.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/projection.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/sella/saddle_search.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/trajectory/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/trajectory/hdf5.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/trajectory/neb.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/parse/types.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/chemgp.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/geomscan.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/optimization.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/plumed.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/structs.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/plot/theme.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/units.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/chemparseplot/util.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/pyproject.toml +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/readme.md +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/_optional_imports.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/conftest.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/_con_fixtures.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/orca/test_geomscan.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/orca/test_interp.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_chemgp_hdf5.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_chemgp_jsonl_types.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_con_io.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_converter.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_dimer_trajectory.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_eon_neb_types.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_eon_trajectory_common.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_min_trajectory.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_minimization_result.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_neb_stitch.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_neb_utils.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_parser_types.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_patterns.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_plumed.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_projection.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_readcon_boundary.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_saddle_results.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_sella_saddle.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_trajectory_hdf5.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/parse/test_trajectory_neb.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/__init__.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_chemgp_utils.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_neb_helpers.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_neb_renderers.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_optimization.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_orca_neb_payload.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_projection_refactor.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_strip_rendering.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/plot/test_structs_units.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/test_coverage_batch.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/test_full_coverage.py +0 -0
- {chemparseplot-1.9.4 → chemparseplot-1.9.6}/tests/tutorials/test_chemparseplot.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chemparseplot
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.6
|
|
4
4
|
Summary: Parsers and plotting tools for computational chemistry
|
|
5
5
|
Project-URL: Documentation, https://chemparseplot.rgoswami.me
|
|
6
6
|
Project-URL: Issues, https://github.com/HaoZeke/chemparseplot/issues
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.9.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 9,
|
|
21
|
+
__version__ = version = '1.9.6'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 9, 6)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -546,6 +546,7 @@ def plot_structure_strip(
|
|
|
546
546
|
perspective_tilt=0.0,
|
|
547
547
|
max_display_height_px: float | None = None,
|
|
548
548
|
width_fill_fraction=0.82,
|
|
549
|
+
prefer_single_row: bool = True,
|
|
549
550
|
) -> Any:
|
|
550
551
|
"""Renders a horizontal gallery of atomic structures.
|
|
551
552
|
|
|
@@ -562,6 +563,10 @@ def plot_structure_strip(
|
|
|
562
563
|
Color for divider lines.
|
|
563
564
|
divider_style : str
|
|
564
565
|
Linestyle for divider lines (e.g. ``"--"``, ``"-"``, ``":"``).
|
|
566
|
+
prefer_single_row : bool
|
|
567
|
+
If True (default), pack up to 16 structures in one row. If False,
|
|
568
|
+
honour ``max_cols`` so e.g. 12 images with ``max_cols=6`` become two
|
|
569
|
+
rows of larger molecules.
|
|
565
570
|
|
|
566
571
|
```{versionadded} 0.1.0
|
|
567
572
|
```
|
|
@@ -584,9 +589,12 @@ def plot_structure_strip(
|
|
|
584
589
|
|
|
585
590
|
ax.axis("off")
|
|
586
591
|
n_plot = len(atoms_list)
|
|
587
|
-
#
|
|
588
|
-
#
|
|
589
|
-
|
|
592
|
+
# Single-row packing is optional: landscape strips with many images often
|
|
593
|
+
# want max_cols=6 → two rows of larger structures.
|
|
594
|
+
if prefer_single_row and n_plot <= 16:
|
|
595
|
+
effective_max_cols = max(max_cols, n_plot)
|
|
596
|
+
else:
|
|
597
|
+
effective_max_cols = max(1, int(max_cols))
|
|
590
598
|
n_cols = min(n_plot, effective_max_cols)
|
|
591
599
|
n_rows = (n_plot + effective_max_cols - 1) // effective_max_cols
|
|
592
600
|
|
|
@@ -1590,11 +1598,14 @@ def landscape_half_span(
|
|
|
1590
1598
|
*,
|
|
1591
1599
|
path_pad: float = 1.15,
|
|
1592
1600
|
min_half: float = 0.02,
|
|
1601
|
+
equal_metric: bool = True,
|
|
1593
1602
|
):
|
|
1594
|
-
"""Symmetric |d| half-span
|
|
1603
|
+
"""Symmetric |d| half-span for a projected (s, d) landscape.
|
|
1595
1604
|
|
|
1596
|
-
|
|
1597
|
-
|
|
1605
|
+
With ``equal_metric=True`` (default), the half-span is at least half the
|
|
1606
|
+
*s* window so that ``Δs = Δd`` and ``set_aspect('equal')`` yields a square
|
|
1607
|
+
panel where 1 Å of progress matches 1 Å of orthogonal deviation (same RMSD
|
|
1608
|
+
metric). Path/overlay markers still expand the span when they exceed that.
|
|
1598
1609
|
"""
|
|
1599
1610
|
|
|
1600
1611
|
basis = landscape_projection_basis(global_basis, final_r, final_p)
|
|
@@ -1605,9 +1616,9 @@ def landscape_half_span(
|
|
|
1605
1616
|
np.array([overlay.r]), np.array([overlay.p]), basis
|
|
1606
1617
|
)
|
|
1607
1618
|
half_span = max(half_span, abs(float(add_d[0])) * path_pad)
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1619
|
+
if equal_metric and x_limits is not None:
|
|
1620
|
+
s_half = 0.5 * max(float(x_limits[1] - x_limits[0]), 1e-9)
|
|
1621
|
+
half_span = max(half_span, s_half)
|
|
1611
1622
|
return max(half_span, min_half)
|
|
1612
1623
|
|
|
1613
1624
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|