Skip to content

Consider deprecating the cirq-web module #8168

Description

@mhucka

Description of the issue

This is a proposal to deprecate the cirq-web module after the next Cirq release (1.7), with intention to remove it from the code base in a subsequent release.

Motivations

The cirq-web module is an experimental tool that offers an interactive 3D circuit visualization facility implemented in JavaScript. It can be run in a web browser to display circuit diagrams such as the static example shown below:

Unfortunately, despite the allure of interactive 3D visualization of quantum circuits, the cirq-web module has seen very little use since its introduction approximately five years ago. An internal survey has revealed that there are no known users of cirq-web in the Quantum AI team, and searches of GitHub and the web at large for cirq-web or cirq_web failed to turn up any signs of use of cirq-web in other projects or publications.

In addition:

  • The many JavaScript package dependencies has been a maintenance burden for the Cirq maintainers, due to frequent security-related version updates to JavaScript libraries.

  • The current implementation of cirq-web lacks some desirable features (e.g., cirq-web shows a blank window for circuits with no-target operations #5172, Improve support for circuit repeats in cirq-web #7540), hampering users who have tried to use it.

  • Informal interviews with Quantum AI users who have attempted to use it revealed they find the complexity of the 3D diagrams grows too quickly with increasing circuit sizes, leading them to give up (and in some cases implement their own alternatives that use a different visualization approach).

  • The module has only sparse API documentation.

Taken together, these points argue that we should deprecate cirq-web from Cirq, with the intention to remove it in a future release.

Proposed process

We would aim to do roughly the following steps:

  1. After the upcoming Cirq 1.7 release is made, add deprecation messages to the main branch of Cirq version 1.8.0.dev in GitHub. This deprecation message will be included in the public release of Cirq 1.8. Also inform developers and users of the plan, and ask them to contact us if it causes a problem.

  2. After the release of version 1.8, remove the cirq-web module from the main branch in GitHub (which at that point will be for development version 1.9.0.dev). When the version 1.9 release is made, the cirq-web module will be omitted.

Optionally, if there is interest by the developer and user community, the cirq-web module could be moved to ReCirq.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions