microsoft / microsoft/Qcodes

feature: Soft validators / Safety limits

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

Nobody has claimed this yet.

discussion
Dominant language
Python
Stars
459
Forks
359
Avg merge
3d 6h
Merged PRs (30d)
73

Description

From a comment by @damazter on #145:

the parser restrictions on setting and getting parameters should only distinguish between valid and invalid option, I think no safety precautions should be set in those options. If safety is an issue, it should be incorporated in the instrument driver (and an overwrite could be implemented there). The safety precautions should not be incorporated in the parameters themselves however, because they should be as general as possible in my opinion.

Seems like we want a second level of parameter validation, independent of and typically stricter than the validators built into the parameters. Sometimes these may also want to be linked to multiple parameters, like Oxford's double-cylinder magnet safety ranges, or "don't allow adjacent gates to have a voltage difference > 2V". How should this work?

cc @AdriaanRol @spauka

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 reading the discussion in #145 and the existing parameter validators described there. Define how a separate, stricter safety-validation layer should work, including checks spanning multiple parameters and the relationship to instrument drivers; done means the design and implementation requirements are settled.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design
Issue type
Feature
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.