Skip to content

(Re)load and write hardware configuration from and to file

Explanation of changes

Turn the hardware_config from a QuantumDevice into a new HardwareConfig class. This class extends ManualParameter for now.
It provides 3 methods:

  • The static from_file to generate a new HardwareConfig from file. quantum_device.hardware_config = HardwareConfig.from_file("my_config.json").
  • load_from_file(file) to update the contents of the config with those in the file.
  • write_to_file(file) to write any new changes to the file.

Motivation of changes

quantum_device.hardware_config.load_from_file() is nicer than quantum_device.reload_hardware_config() and does not keep track of state. The logic to provide this is the responsibility of the HardwareConfig, not the QuantumDevice.


Merge checklist

See also merge request guidelines

  • Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer.
  • New code is covered by unit tests (or N/A).
  • New code is documented and docstrings use numpydoc format (or N/A).
  • New functionality: considered making private instead of extending public API (or N/A).
  • Public API changed: added @deprecated and entry in deprecated code suggestions (or N/A).
  • Newly added/adjusted documentation and docstrings render properly (or N/A).
  • Pipeline fix or dependency update: post in #software-for-developers channel to merge main back in or update local packages (or N/A).
  • Tested on hardware (or N/A).
  • CHANGELOG.md for breaking changes and AUTHORS.md have been updated (or N/A).
  • Update Hardware backends documentation if backend interface change or N/A
  • Check whether performance is significantly affected by looking at the Performance metrics results.
  • Windows tests in CI pipeline pass (manually triggered by maintainers before merging).
    • Maintainers do not hit Auto-merge, we need to actively check as manual tests do not block pipeline

For reference, the issues workflow is described in the contribution guidelines.

Edited by Leon Wubben

Merge request reports

Loading