Quickstart¶
This guide walks through installing chemparseplot and running a minimal
parsing and plotting example.
Installation¶
The simplest route is via pip:
pip install chemparseplot
For plotting support, add the plot extra:
pip install "chemparseplot[plot]"
Or install everything at once:
pip install "chemparseplot[all]"
This pulls in rgpycrumbs
automatically, which provides the computational backend (surface fitting,
interpolation, structure analysis).
Development install¶
git clone https://github.com/HaoZeke/chemparseplot
cd chemparseplot
uv sync --all-extras
Parsing an ORCA geometry scan¶
chemparseplot ships parsers for several computational chemistry codes.
Here is a minimal example extracting energies from an ORCA geometry scan
output:
from chemparseplot.parse.orca import geomscan
# Read the ORCA output (plain text)
with open("scan_output.out") as f:
orca_text = f.read()
# Extract actual energies with units attached
distance, energy = geomscan.extract_energy_data(orca_text, "Actual")
# Units are pint Quantities
print(distance.units) # bohr
print(energy.units) # hartree
# Convert freely
print(distance.to("angstrom"))
Plotting with unit awareness¶
The TwoDimPlot class handles unit-aware axes and scientific colormaps:
from chemparseplot.plot.structs import TwoDimPlot, EnergyPath
plot = TwoDimPlot()
plot.set_units("angstrom", "hartree")
path = EnergyPath("H2 scan", distance, energy)
plot.add_data(path)
plot.show_plot("H2 Bond Length Scan")
Changing units redraws the axes automatically:
plot.set_units("bohr", "electron_volt")
plot.fig # updated figure
Parsing eOn saddle searches¶
from chemparseplot.parse.eon.saddle_search import parse_eon_saddle
result = parse_eon_saddle(
eresp="results_saddle.dat",
rloc="saddle/"
)
print(result.status) # EONSaddleStatus
print(result.energy) # saddle point energy
print(result.method) # Dimer, GPRD, or LBFGS
Next steps¶
Browse the tutorials for full worked examples
See the features page for all supported engines
Check the API reference for detailed module documentation