انتقل إلى المحتوى الرئيسي

⚙️ doQumentation Settings

Configure the Jupyter server used for executing Python code in tutorials.

Current Environment:

IBM Quantum Account

Security note: Credentials are stored in your browser's localStorage in plain text. They are not encrypted and can be read by browser extensions or anyone with access to this device. Use the expiry setting below to limit exposure, and delete credentials when you're done. For shared or public computers, prefer the manual save_account() method described below instead.

Enter your IBM Quantum credentials once here. They will be auto-injected via save_account() when the kernel starts, so you don't need to enter them in every notebook. This applies to embedded code execution on this site only — opening a notebook in JupyterLab requires calling save_account() manually.

  1. Register at quantum.cloud.ibm.com/registration — no credit card required for the first 30 days
  2. Sign in at quantum.cloud.ibm.com
  3. Instance — Create a free Open Plan instance at Instances if you don't have one yet
  4. API Token — Click your profile icon (top right), then "API token". Copy the key.
  5. CRN — Copy the CRN string from your Instances page

For detailed steps, see IBM's Set up authentication guide (step 2).

Alternative: Run save_account() manually in a notebook cell

If you prefer not to store credentials in this browser, paste this into any code cell and run it. Credentials are saved in the Binder kernel's temporary storage and lost when the session ends.

from qiskit_ibm_runtime import QiskitRuntimeService
QiskitRuntimeService.save_account(
    token="YOUR_API_TOKEN",
    instance="YOUR_CRN",
    overwrite=True
)

Simulator Mode

Enable to run notebooks without an IBM Quantum account. All QiskitRuntimeService calls are redirected to a local simulator. No cell modifications needed. This applies to embedded code execution on this site only — opening a notebook in JupyterLab uses the standard Qiskit runtime.

Transpiled circuits and backend-specific results will differ from real hardware when using simulator mode. Static expected outputs shown on pages reflect real IBM backends.

Learning Progress

Your reading and execution progress is tracked locally in your browser. Visited pages show a in the sidebar; executed notebooks show a .

No progress tracked yet. Visit tutorials and guides to start tracking.

Display Preferences

Code Font Size

14px
from qiskit import QuantumCircuit

Pre-computed Outputs

Each notebook page shows pre-computed outputs (images, tables, text) from IBM's original runs. When you click Run to execute code live, both the original outputs and your new live results are shown side by side. Enable this toggle to hide the original outputs during live execution, keeping only your results visible.

Python Warnings

By default, Python warnings (deprecation notices, runtime hints) are suppressed for cleaner notebook output. Disable this to see all warnings — useful for debugging or learning about API changes.

Other

Binder Packages

When running on GitHub Pages, code executes via MyBinder. The Binder environment includes core Qiskit packages pre-installed:

qiskit[visualization], qiskit-aer,
qiskit-ibm-runtime, pylatexenc,
qiskit-ibm-catalog, qiskit-addon-utils, pyscf

Some notebooks require additional packages. You can install them on demand by running this in a code cell:

!pip install -q <package>

Or install all optional packages at once:

!pip install -q scipy scikit-learn qiskit-ibm-transpiler \
  qiskit-experiments plotly sympy qiskit-serverless \
  qiskit-addon-sqd qiskit-addon-mpf \
  qiskit-addon-aqc-tensor[aer,quimb-jax] \
  qiskit-addon-obp qiskit-addon-cutting ffsim \
  gem-suite python-sat

Advanced

Custom Jupyter Server

The base URL of your Jupyter server (e.g., http://localhost:8888)
Token from jupyter server --generate-config or displayed at startup

Setup Help

RasQberry Setup

If you're running on a RasQberry Pi, the Jupyter server should be automatically detected. If not, ensure the jupyter-tutorials service is running:

sudo systemctl status jupyter-tutorials

Local Jupyter Setup

Start a Jupyter server with CORS enabled:

jupyter server --ServerApp.token='rasqberry' \
  --ServerApp.allow_origin='*' \
  --ServerApp.disable_check_xsrf=True

Docker Setup

The Docker container generates a random Jupyter token at startup. Code execution through the website (port 8080) works automatically — no token needed. The token is only required for direct JupyterLab access on port 8888.

To retrieve the token from container logs:

docker compose --profile jupyter logs | grep "Jupyter token"

To set a fixed token:

JUPYTER_TOKEN=mytoken docker compose --profile jupyter up

Remote Server

For remote servers, ensure CORS is configured to allow connections from this site. Add the following to your jupyter_server_config.py:

c.ServerApp.allow_origin = '*'
c.ServerApp.allow_credentials = True