Inconsistency in feature sets across various components
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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