Feature Request
Problem / Motivation
SIST has no Python package. master.pl shells out to the C++ qsidd binaries directly, and for cruciform/competition modes calls a second Perl script, IR_finder.pl, to compute candidate energies from an external irf report. A real Python implementation needs to exist and be validated before Perl can be removed.
Proposed Solution
- Add a
src/sist/ Python package with a CLI mirroring master.pl's existing flags.
- Port
IR_finder.pl's HTML report parsing and energy calculations to Python.
- Add orchestration that dispatches to the existing
trans_three/trans_compete qsidd binaries the same way master.pl does today.
- Add unit tests for the ported energy and parsing functions, verified against the Perl source.
- Add an end-to-end test that runs the new
sist CLI and compares its output against the existing reference baselines.
- Leave
master.pl and IR_finder.pl as the installed entry point until the new package is proven equivalent.
Expected Impact
- No user-facing change,
master.pl remains the shipped entry point.
- Establishes a Python implementation that can be verified against the existing scientific regression baselines before Perl is removed.
Feature Request
Problem / Motivation
SIST has no Python package.
master.plshells out to the C++qsiddbinaries directly, and for cruciform/competition modes calls a second Perl script,IR_finder.pl, to compute candidate energies from an externalirfreport. A real Python implementation needs to exist and be validated before Perl can be removed.Proposed Solution
src/sist/Python package with a CLI mirroringmaster.pl's existing flags.IR_finder.pl's HTML report parsing and energy calculations to Python.trans_three/trans_competeqsiddbinaries the same waymaster.pldoes today.sistCLI and compares its output against the existing reference baselines.master.plandIR_finder.plas the installed entry point until the new package is proven equivalent.Expected Impact
master.plremains the shipped entry point.