rigetti / rigetti/pyquil

Inconsistency in feature sets across various components

Open
#906 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion :thinking:
Dominant language
Python
Stars
1.5k
Forks
358
Avg merge
1d 58m
Merged PRs (30d)
4

Description

PyQuil 1.0 was released back in the spring of 2017. Since then, a lot of content has been added to the repository, and sometimes in an ad hoc manner without taking into consideration a holistic view of the library. This is particularly evident in the API module and in the various simulators available. For example, the QVM and pyQVM do not have perfect feature parity (and much less so between the QVM and QPU). Additionally, as #885 states, there are multiple examples of connection-like classes that look very similar but aren't exactly the same. Like the program construction issue (#884) this has the effect of making the pyQuil user experience worse, along with sometimes resulting in subtle differences depending on which version is chosen (like in the QubitPlaceholder issue #905). In summary, this issue offers additional support to the overall theme of feature consolidation and library simplification that I think is the correct direction for the pyQuil library in the near term.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the API module and the QVM, pyQVM, and QPU interfaces, then compare the connection-like classes discussed in #885 and the related issues #884 and #905. Define a concrete consolidation scope and parity criteria before changing anything; done means the chosen components expose consistent features without the cited version-dependent differences.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.