From e2c72670852d71b915ba290ef2b47054513b97ac Mon Sep 17 00:00:00 2001 From: Alexander Condello Date: Thu, 13 Aug 2026 14:59:15 -0700 Subject: [PATCH 1/3] Fail doctests in CI when there are build warnings --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 549a8b57..015b50ff 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -334,10 +334,10 @@ jobs: --only-binary :all: - run: - name: build docs + name: build docs with warnings as error command: | . env/bin/activate - make -C docs cpp html + make -C docs cpp html SPHINXOPTS=-W - store_artifacts: path: docs/build/html From 595c1fc6ba8750ec99a3a54b08325a89b3738c87 Mon Sep 17 00:00:00 2001 From: Alexander Condello Date: Fri, 14 Aug 2026 08:02:10 -0700 Subject: [PATCH 2/3] Remove C++ docs We never ended up expanding or fixing them. --- .circleci/config.yml | 8 +------- docs/Doxyfile | 14 -------------- docs/Makefile | 11 ----------- docs/conf.py | 14 -------------- docs/cpp.rst | 15 --------------- pyproject.toml | 1 - 6 files changed, 1 insertion(+), 62 deletions(-) delete mode 100644 docs/Doxyfile delete mode 100644 docs/cpp.rst diff --git a/.circleci/config.yml b/.circleci/config.yml index 015b50ff..3693ac0e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -312,12 +312,6 @@ jobs: - attach_workspace: at: dist - - run: - name: install doxygen - command: | - sudo apt update - sudo apt install doxygen - - run: name: install package and docs dependencies command: | @@ -337,7 +331,7 @@ jobs: name: build docs with warnings as error command: | . env/bin/activate - make -C docs cpp html SPHINXOPTS=-W + make -C docs html SPHINXOPTS=-W - store_artifacts: path: docs/build/html diff --git a/docs/Doxyfile b/docs/Doxyfile deleted file mode 100644 index 395dd27e..00000000 --- a/docs/Doxyfile +++ /dev/null @@ -1,14 +0,0 @@ -# Doxyfile 1.9.1 - -PROJECT_NAME = dwave-optimization - -OUTPUT_DIRECTORY = $(DOXYGEN_OUTPUT_DIRECTORY) -INPUT = ../dwave/optimization/include/dwave-optimization/ \ - ../dwave/optimization/include/dwave-optimization/nodes/ -FILE_PATTERNS = *.hpp - -GENERATE_HTML = NO -GENERATE_LATEX = NO -GENERATE_XML = YES - -WARN_IF_UNDOCUMENTED = NO diff --git a/docs/Makefile b/docs/Makefile index ae206153..075123b3 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -8,8 +8,6 @@ SPHINXPROJ = dwave SOURCEDIR = . BUILDDIR = build -DOXYGEN_OUTPUT_DIRECTORY=$(BUILDDIR)/doxygen/ - # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) @@ -20,15 +18,6 @@ clean: -rm -rf $(BUILDDIR) -rm -rf reference/generated -cpp: - # Note that sphinx's conf.py expects the build directory to be build/ - # and unfortunately there isn't an easy way to read the BUILDDIR from the - # conf.py. - # We could do additional env variables, but this is mostly for the benefit - # of the SDK, so we'll leave it be for now. - mkdir $(BUILDDIR) -p - DOXYGEN_OUTPUT_DIRECTORY=$(DOXYGEN_OUTPUT_DIRECTORY) doxygen Doxyfile - # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile diff --git a/docs/conf.py b/docs/conf.py index 38da8663..fcc13a42 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -3,9 +3,6 @@ # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html -import os -import subprocess - # -- Project information ----------------------------------------------------- extensions = [ @@ -22,7 +19,6 @@ 'sphinx.ext.ifconfig', # other extensions - 'breathe', 'sphinx_design', ] @@ -70,16 +66,6 @@ 'dwave.optimization.typing.ArraySymbolLike': 'ArraySymbol | numpy.typing.ArrayLike', } -# -- Breathe -------------------------------------------------------------- - -breathe_projects = { - 'dwave-optimization': os.path.join(os.path.dirname(os.path.abspath(__file__)), 'build', 'doxygen', 'xml'), -} - -# see https://breathe.readthedocs.io/en/latest/readthedocs.html -if os.environ.get('READTHEDOCS', False): - subprocess.call('make cpp', shell=True, cwd=os.path.dirname(os.path.abspath(__file__))) - # -- Options for HTML output ---------------------------------------------- html_theme = "pydata_sphinx_theme" diff --git a/docs/cpp.rst b/docs/cpp.rst deleted file mode 100644 index 0e25d06e..00000000 --- a/docs/cpp.rst +++ /dev/null @@ -1,15 +0,0 @@ -:orphan: - -.. _optimization_cpp: - -======= -C++ API -======= - -dwave::optimization -------------------- - -.. doxygennamespace:: dwave::optimization - :project: dwave-optimization - :content-only: - :members: diff --git a/pyproject.toml b/pyproject.toml index 9e81449e..f6908f75 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -110,7 +110,6 @@ docs = [ "pydata-sphinx-theme==0.16.1", "sphinx==8.2.3", "sphinx-design==0.6.1", - "breathe==4.35.0", ] [tool.cibuildwheel] From 3854c1edfb7955b839c81b62567a71b714a81be9 Mon Sep 17 00:00:00 2001 From: Alexander Condello Date: Fri, 14 Aug 2026 08:05:58 -0700 Subject: [PATCH 3/3] Use unicode TM in docs rather than substitution --- docs/philosophy.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/philosophy.rst b/docs/philosophy.rst index d7f6bc79..0e10fd83 100644 --- a/docs/philosophy.rst +++ b/docs/philosophy.rst @@ -5,7 +5,7 @@ Philosophy ========== `dwave-optimization` and -the `Leap `_\ |TM| service's quantum-classical +the `Leap `_\ ™ service's quantum-classical hybrid nonlinear solver incorporate features and design principles from each of the following areas: