Skip to content

Renamed package from qcop to qccompute - #71

Merged
coltonbh merged 1 commit into
masterfrom
feature-rename-to-qccompute
Mar 26, 2026
Merged

Renamed package from qcop to qccompute#71
coltonbh merged 1 commit into
masterfrom
feature-rename-to-qccompute

Conversation

@coltonbh

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Renames the Python distribution/import namespace from qcop to qccompute, updating package metadata, docs/examples/tests, and aligning exception payload naming with qcdata.ProgramOutput.

Changes:

  • Rename project/package references (qcopqccompute) across packaging config, docs, examples, scripts, and tests.
  • Update exception payload attribute from .results to .prog_output (with .results kept as a read-only alias).
  • Add/adjust adapter package initialization and introduce a TeraChemPBSAdapter.

Reviewed changes

Copilot reviewed 52 out of 57 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
uv.lock Updates editable package name to qccompute.
pyproject.toml Renames project + URLs; updates Ruff isort first-party module name.
mkdocs.yml Updates site metadata/links and watch path to src/qccompute.
scripts/tests.sh Updates coverage target from qcop to qccompute.
src/qccompute/init.py Adds package entrypoint exports and version discovery.
src/qccompute/py.typed Ensures package remains typed for downstream type checkers.
src/qccompute/main.py Updates top-level compute behavior to attach prog_output to exceptions.
src/qccompute/utils.py Updates error messages/docstrings to reference qccompute.
src/qccompute/exceptions.py Renames base exception + payload attribute to prog_output; adds .results alias.
src/qccompute/adapters/init.py Ensures adapters are imported so registry population works on import.
src/qccompute/adapters/base.py Renames internal variables/results plumbing to prog_output.
src/qccompute/adapters/utils.py Updates imports to qccompute.exceptions.
src/qccompute/adapters/xtb.py Updates exception imports and install hints to qccompute[...].
src/qccompute/adapters/orca.py Updates exception imports to qccompute.exceptions.
src/qccompute/adapters/crest.py Updates exception imports to qccompute.exceptions.
src/qccompute/adapters/file.py Updates base adapter import path.
src/qccompute/adapters/geometric.py Updates exception types and internal naming/docstrings.
src/qccompute/adapters/qcengine.py Updates exception imports and comment wording.
src/qccompute/adapters/terachem.py Updates exception imports to qccompute.exceptions.
src/qccompute/adapters/terachem_fe.py Updates exception imports/install hints; uses prog_output naming.
src/qccompute/adapters/terachem_pbs.py Adds PBS adapter variant inheriting FE behavior.
tests/conftest.py Updates imports to qccompute modules.
tests/test_main.py Updates imports and exception class naming (QCComputeBaseError).
tests/test_exceptions.py Updates pickling tests to use .prog_output and .results alias behavior.
tests/test_base_adapters.py Updates adapter/exception imports and .prog_output assertions.
tests/test_utils.py Updates utility/exception imports to qccompute.
tests/test_xtb.py Updates adapter/exception imports to qccompute.
tests/test_qcng_compat.py Updates imports and renames tests/comments to qccompute.
tests/integration_tests/test_xtb.py Updates top-level compute import to qccompute.
tests/integration_tests/test_terachem_integration.py Updates compute import to qccompute.
tests/integration_tests/test_geometric_integration.py Updates adapter import to qccompute.
tests/integration_tests/test_crest.py Updates top-level compute import to qccompute.
tests/adaptors/test_terachem.py Updates adapter imports and monkeypatch paths to qccompute.
tests/adaptors/test_geometric.py Updates adapter imports, exception payload kwarg to prog_output, and test names.
tests/adaptors/test_file.py Updates adapter imports to qccompute.
examples/xtb.py Updates import and variable naming to prog_output.
examples/terachem_opt.py Updates imports and exception handling to QCComputeBaseError/.prog_output.
examples/single_point.py Updates imports and exception handling to QCComputeBaseError/.prog_output.
examples/rdkit.py Updates imports and exception handling to QCComputeBaseError/.prog_output.
examples/hessian.py Updates imports and exception handling to QCComputeBaseError/.prog_output.
examples/gradient.py Updates imports and exception handling to QCComputeBaseError/.prog_output.
examples/geometric.py Updates imports and exception handling to QCComputeBaseError/.prog_output.
examples/file_input.py Updates import and variable naming to prog_output.
examples/crest.py Updates imports and exception handling to QCComputeBaseError/.prog_output.
docs/CNAME Updates docs domain to qccompute.coltonhicks.com.
docs/index.md Updates docs landing page for rename and new exception payload naming.
docs/examples/overview.md Updates example imports and mkdocstrings reference to qccompute.
docs/programs/overview.md Updates narrative references from qcop to qccompute.
docs/programs/qcengine.md Updates text and API references to qccompute.
docs/programs/xtb.md Updates mkdocstrings target to qccompute.
docs/programs/terachem.md Updates mkdocstrings targets to qccompute.
docs/programs/geometric.md Updates mkdocstrings target to qccompute.
docs/programs/crest.md Updates mkdocstrings target to qccompute.
docs/dev-docs/dev-decisions.md Updates exception payload naming in dev decision note.
README.md Updates public-facing README for rename and new exception payload naming.
CHANGELOG.md Updates changelog references/links from qcop to qccompute.
Comments suppressed due to low confidence (2)

src/qccompute/main.py:60

  • e.args = (*e.args, prog_output) appends the ProgramOutput rather than replacing the existing prog_output slot in the exception args (which is currently None). If anything relies on positional args (per the comment in QCComputeBaseError about serialization), e.args[1] will remain None and the real output ends up at the end of the tuple. Prefer rebuilding e.args so the prog_output position is updated (or re-instantiating the exception with prog_output).
    src/qccompute/adapters/qcengine.py:50
  • Remove the trailing whitespace on this blank line to avoid noisy diffs and potential lint failures.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/index.md Outdated
Comment on lines +149 to +153
![Optimization Viewer](./docs/assets/optimization_viewer.png)

Single point calculations display their results in a table.

![Single Point Viewer](./assets/single_point_viewer.png)
![Single Point Viewer](./docs/assets/single_point_viewer.png)

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The relative image paths here look incorrect for MkDocs: docs/index.md sits inside docs/, so ./docs/assets/... resolves to docs/docs/assets/.... Use a path relative to docs/ (e.g., ./assets/...) so the images render in the built site.

Copilot uses AI. Check for mistakes.
Comment thread docs/index.md Outdated
```

The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qcop/blob/83868df51d241ffae3497981dfc3c72235319c6e/qcop/adapters/base.py#L57-L123) for more details.
The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qccompute/blob/83868df51d241ffae3497981dfc3c72235319c6e/qccompute/adapters/base.py#L57-L123) for more details.

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This GitHub link to base.py appears to omit the src/ prefix used in this repository (the file lives under src/qccompute/...). As written, it likely 404s; update the URL to match the actual path so the documentation link remains valid.

Suggested change
The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qccompute/blob/83868df51d241ffae3497981dfc3c72235319c6e/qccompute/adapters/base.py#L57-L123) for more details.
The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qccompute/blob/83868df51d241ffae3497981dfc3c72235319c6e/src/qccompute/adapters/base.py#L57-L123) for more details.

Copilot uses AI. Check for mistakes.
Comment thread README.md Outdated
```

The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qcop/blob/83868df51d241ffae3497981dfc3c72235319c6e/qcop/adapters/base.py#L57-L123) for more details.
The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qccompute/blob/83868df51d241ffae3497981dfc3c72235319c6e/qccompute/adapters/base.py#L57-L123) for more details.

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This GitHub link to base.py appears to omit the src/ prefix used in this repository (the file lives under src/qccompute/...). As written, it likely 404s; update the URL to match the actual path so the README link remains valid.

Suggested change
The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qccompute/blob/83868df51d241ffae3497981dfc3c72235319c6e/qccompute/adapters/base.py#L57-L123) for more details.
The behavior of `compute()` and `compute_args()` can be tuned by passing in keyword arguments like `collect_files` shown above. Arguments can modify which scratch directory location to use, whether to delete or keep the scratch files after a calculation completes, what files to collect from a calculation, whether to stream the program logs in real time as the program executes, and whether to propagate a wavefunction through a series of calculations. Arguments also include hooks for passing in update functions that can be called as a program executes in real time. See the [compute method docstring](https://github.com/coltonbh/qccompute/blob/83868df51d241ffae3497981dfc3c72235319c6e/src/qccompute/adapters/base.py#L57-L123) for more details.

Copilot uses AI. Check for mistakes.
Comment thread tests/test_qcng_compat.py
Comment on lines +39 to 40
# Program not in qccompute, but in qcn
# Will raise qcengine.exceptions.ResourceError: Program mrchem is registered with

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: qcn looks like it should be qcng (QCEngine) to match the surrounding text and variable names.

Copilot uses AI. Check for mistakes.
@coltonbh
coltonbh force-pushed the feature-rename-to-qccompute branch from 5a9bece to a6c8fb5 Compare March 26, 2026 23:15
@coltonbh
coltonbh force-pushed the feature-rename-to-qccompute branch from a6c8fb5 to 86deb41 Compare March 26, 2026 23:19
@coltonbh
coltonbh merged commit 9f61954 into master Mar 26, 2026
8 of 9 checks passed
@coltonbh
coltonbh deleted the feature-rename-to-qccompute branch March 26, 2026 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants