Skip to content

Onboarding beta testers - #85

Open
JoelPasvolsky wants to merge 3 commits into
dwavesystems:mainfrom
JoelPasvolsky:onboarding_beta
Open

Onboarding beta testers#85
JoelPasvolsky wants to merge 3 commits into
dwavesystems:mainfrom
JoelPasvolsky:onboarding_beta

Conversation

@JoelPasvolsky

Copy link
Copy Markdown
Collaborator

@randomir, see if there's more needed or worth changing.

@codecov

codecov Bot commented Sep 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.99%. Comparing base (2336d0a) to head (48fa2cd).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #85   +/-   ##
=======================================
  Coverage   90.99%   90.99%           
=======================================
  Files          34       34           
  Lines        5683     5683           
=======================================
  Hits         5171     5171           
  Misses        512      512           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@randomir randomir left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Minor note: onboarding content would probably make more sense in the Ocean SDK docs, under (perhaps) gate-model page. But I guess it's fine to temporarily host it here. 🤷

@qci-amos qci-amos left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'm not really the right person to review all this, but the parts I am familiar with lgtm

Comment thread docs/workflow.rst
Comment on lines +20 to +22
Features for real-time control, which are being phased into dual-rail
quantum computing systems, are already available on the simulator in the
|cloud|_ service for prototyping and learning.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm glad to see this mentioned somewhere

Comment thread docs/workflow.rst
Comment on lines +78 to +80
You can see your ``dwave.conf`` file using the methods described in the
:ref:`cloud_configuration` or using the :ref:`D-Wave CLI <ocean_dwave_cli>`
section.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would be nice if there was a cli way to do this

Comment thread docs/workflow.rst

>>> from dwave.gate.leap import LeapQCDLSimulator
...
>>> simulator = LeapQCDLSimulator(profile="beta") # doctest: +SKIP

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't there a way to configure a default in dwave.conf?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dwave config create will update the default profile by default. That makes sense for new D-Wave users that are trying this out, but not for existing users. Now, I don't know who's going to be onboarding here.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

most of the examples that Trevor K and I are planning, he wouldn't specify profile= so ideally we could have a way to guide users to simply configure their dwave.conf appropriately instead of either encoding the profile in the examples or asking users to do that

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also specify the default profile in the DWAVE_PROFILE env var. That's the easiest way to "specialize" an environment. A shell, or a container.

$ DWAVE_PROFILE=beta python
>>> from dwave.gate.qcdl.leap import LeapQCDLSimulator
>>> simulator = LeapQCDLSimulator()
>>> simulator.properties
{'max_shots': 1000000, ...

Comment thread docs/workflow.rst
Comment on lines +87 to +88
[beta]
token = BETA-123456789123456789123456789

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my conf has leap_client_id and metadata_api_endpoint. Are these not needed for the beta testers?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not needed. The PROD values for these params are shipped with the client. You had to manually override/specify them if you ran in non-PROD envs.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so "beta" is some sort of alias/subset of PROD?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, "beta" (token) here refers to a new project "D-Wave Gate Model Simulator Beta". It's a project in the PROD environment.

Comment thread docs/workflow.rst
The following are two simple ways to use the beta-tester project's API token
from your existing development environment.

* Add a section to your ``dwave.conf`` file.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is ti clear to users how/where to create this file? It hasn't been so for me and my team

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dwave config ls should list all available dwave.conf files, in order of preference.

@randomir randomir Sep 11, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But you make a good point, @qci-amos, we should advise users explicitly to just run this:

dwave config create --profile beta

That command will locate the config file and/or create one if it doesn't exist; then it will create a new profile called beta (or update the existing one); and ask the user for the SAPI token.

@randomir randomir Sep 11, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we should provide a fully automated flow example.

  1. Authorize Ocean to access Leap:
$ dwave auth login
Please visit the following URL to authorize Ocean: https://cloud.dwavesys.com/leap/openid/authorize?...
Authorization completed successfully. You can now use "dwave auth get" to fetch your token.
  1. Configure your beta profile:
$ dwave config create --profile beta --auto-token --project "D-Wave Gate Model Simulator Beta"
Using the simplified configuration flow.
Try 'dwave config create --full' for more options.

Updating existing configuration file: /home/radomir/.config/dwave/dwave.conf
Creating new profile: beta
Fetched SAPI token for project 'D-Wave Gate Model Simulator Beta' (R4zH) from Leap API.
Configuration saved.

Or as a one-liner:

dwave auth login && dwave config create --profile beta --auto-token --project "D-Wave Gate Model Simulator Beta"

Note I used the full project name for clarity, but it can be shortened to R4zH:

dwave auth login && dwave config create --profile beta --auto-token --project R4zH

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants