Discovery: can we pull this into qcs-sdk-rust and replace all calls to RPCQ?
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 18m
- Merged PRs (30d)
- 1
Description
As is, can we pull this in to qcs-sdk-rust to replace the remaining RPCQ calls?
If yes, we can start planning to integrate it into qcs-sdk-rust properly
If not, whats missing? Create follow-up issues to track filling the gaps.
Discovery
The following issues were created as part of this discovery:
#7, #8, #9, #10, #12
#12 is a blocker from taking this any further. Having #8 would also be nice to understand as part of this discovery.
Assuming we can resolve the above issues, my confidence is high that this would replace RPCQ in qcs-sdk-rust. There are two functions that make RPCQ calls:
compile_program:
This is where we would need #8 and #12, but the implementation would look something like:
pub(crate) fn compile_program(
quil: &str,
isa: TargetDevice,
_options: CompilerOpts,
) -> Result<quil_rs::Program, Error> {
let quilc_program = parse_program(quil.to_string());
let chip = get_chip_spec_from_isa_descriptor(&isa); # needs issue #8
let compiled_program = quilc_compile_program(&quilc_program, &chip);
compiled_program.into() # needs #12
}
get_version_info
This function becomes unnecessary, as there is no need to check the version of quilc for compatibility if it is an embedded dependency. We can deprecate this and return a mock value if needed.
Contributor guide
No contributing guide indexed for this repository
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 compile_program and get_version_info entry points in qcs-sdk-rust, then read blocking issues #8 and #12 along with related issues #7, #9, and #10. Determine whether the remaining RPCQ calls can be replaced, identify any missing prerequisites, and document follow-up issues for unresolved gaps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, quantum-computing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100