Updated from qcio to qcdata. - #70
Conversation
46dc146 to
871aa5b
Compare
There was a problem hiding this comment.
Pull request overview
Migrates qcop from qcio to qcdata data structures across the library, tests, examples, and documentation, along with lockfile/dependency updates to match the new ecosystem versions.
Changes:
- Replace
qcioimports/usages withqcdataequivalents and renameResults→ProgramOutputthroughout. - Update adapters to use
qcdatahelper modules/types and adjust a few runtime behaviors (e.g., ORCA missing executable handling). - Refresh packaging/lockfile/docs/examples/tests to reflect new dependencies and naming.
Reviewed changes
Copilot reviewed 40 out of 41 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Bumps locked deps to versions compatible with qcdata (e.g., qccodec, tcpb) and replaces qcio with qcdata. |
pyproject.toml |
Switches runtime deps to qcdata>=0.17.0, updates related versions/URLs, and tweaks mypy config. |
.pre-commit-config.yaml |
Updates mypy hook version/config and swaps type-check deps from qcio to qcdata. |
.vscode/settings.json |
Adds qcdata to spellcheck/word list. |
src/qcop/utils.py |
Updates qcio imports to qcdata. |
src/qcop/main.py |
Updates top-level API typing/exception output object construction to ProgramOutput. |
src/qcop/exceptions.py |
Migrates exception payload typing from Results to ProgramOutput. |
src/qcop/adapters/base.py |
Migrates adapter output type to ProgramOutput and updates file/wfn collection plumbing for qcdata. |
src/qcop/adapters/utils.py |
Updates Provenance and helper type imports to qcdata. |
src/qcop/adapters/file.py |
Updates FileInput/Files imports to qcdata. |
src/qcop/adapters/xtb.py |
Updates qcio imports/docs to qcdata. |
src/qcop/adapters/terachem_fe.py |
Updates qcio imports/docs to qcdata. |
src/qcop/adapters/terachem.py |
Updates types to ProgramOutput for wavefunction propagation signatures. |
src/qcop/adapters/qcengine.py |
Switches qcio.qcel helpers to qcdata.qcel and updates comments. |
src/qcop/adapters/orca.py |
Updates imports to qcdata and raises ProgramNotFoundError when ORCA executable is missing. |
src/qcop/adapters/geometric.py |
Renames internal trajectory/plumbing from qcio_* to qcdata_* and updates types to ProgramOutput. |
src/qcop/adapters/crest.py |
Updates qcio imports/docs to qcdata. |
tests/conftest.py |
Migrates fixtures from Results to ProgramOutput and updates provenance strings. |
tests/test_main.py |
Updates imports/types to qcdata/ProgramOutput. |
tests/test_base_adapters.py |
Migrates assertions/docs from Results to ProgramOutput. |
tests/test_xtb.py |
Updates qcio imports to qcdata. |
tests/integration_tests/test_xtb.py |
Updates qcio imports to qcdata. |
tests/integration_tests/test_crest.py |
Updates qcio imports to qcdata. |
tests/integration_tests/test_terachem_integration.py |
Updates qcio imports to qcdata. |
tests/integration_tests/test_geometric_integration.py |
Migrates Results to ProgramOutput in integration assertions. |
tests/adaptors/test_file.py |
Updates qcio imports to qcdata. |
tests/adaptors/test_geometric.py |
Migrates Results to ProgramOutput and renames trajectory attribute usage. |
examples/xtb.py |
Updates qcio imports to qcdata. |
examples/terachem_opt.py |
Updates qcio imports and clarifies output naming as ProgramOutput. |
examples/single_point.py |
Updates qcio imports and clarifies output naming as ProgramOutput. |
examples/rdkit.py |
Updates qcio imports and clarifies output naming as ProgramOutput. |
examples/hessian.py |
Updates qcio imports and clarifies output naming as ProgramOutput. |
examples/gradient.py |
Updates qcio imports and clarifies output naming as ProgramOutput. |
examples/geometric.py |
Updates qcio imports to qcdata. |
examples/file_input.py |
Updates qcio imports to qcdata. |
examples/crest.py |
Updates qcio imports and clarifies output naming as ProgramOutput. |
docs/index.md |
Updates docs narrative/examples/links from qcio to qcdata. |
docs/programs/overview.md |
Updates qcio reference/link to qcdata. |
docs/examples/overview.md |
Updates example snippets to use qcdata/ProgramOutput. |
docs/dev-docs/dev-decisions.md |
Updates developer notes from Results to ProgramOutput. |
README.md |
Updates README narrative/examples from qcio to qcdata and Results to ProgramOutput. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| result = compute("python", file_inp) | ||
| isinstance(result, Results) | ||
| isinstance(result, ProgramOutput) | ||
| assert result.logs == "hello world\n" |
There was a problem hiding this comment.
isinstance(result, ProgramOutput) is not asserted, so this test doesn't actually verify the return type. Convert this to an assertion (e.g., assert isinstance(...)) so a regression would fail the test.
| Then in a Jupyter notebook import the `qcio` view module and call `view.view(...)` passing it one or any number of `qcio` objects you want to visualizing including `Structure` objects or any `Results` object. You may also pass an array of `titles` and/or `subtitles` to add additional information to the molecular structure display. If no titles are passed `qcio` with look for `Structure` identifiers such as a name or SMILES to label the `Structure`. | ||
| Then in a Jupyter notebook import the `qcdata` view module and call `view.view(...)` passing it one or any number of `qcdata` objects you want to visualize, including `Structure` objects or any `ProgramOutput` object. You may also pass arrays of `titles` and/or `subtitles` to add additional information to the molecular structure display. If no titles are passed, `qcdata` will look for `Structure` identifiers such as a name or SMILES to label the `Structure`. | ||
|
|
||
|  |
There was a problem hiding this comment.
The README now references qcdata throughout, but this image URL still points at the old qcio asset path. Update the link to the qcdata asset (or another correct location) to keep the documentation consistent.
|  | |
|  |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
fe52a0d to
8645299
Compare
No description provided.