From 816d200b140a2ce240f434edec2b339a60bd9de2 Mon Sep 17 00:00:00 2001 From: Chris Mayo Date: Wed, 5 Aug 2026 19:22:00 +0100 Subject: [PATCH] docs: Fix building on Python 3.15 SourceFileLoader.load_module() was deprecated in Python 3.6 and removed in 3.15. --- docs/conf.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index f2cb3f35..09436017 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,17 +1,17 @@ +import importlib.machinery +import importlib.util import os import sys dir_ = os.path.dirname(os.path.realpath(__file__)) - - -def exec_module(path): - import importlib.machinery - loader = importlib.machinery.SourceFileLoader("cairo", path) - return loader.load_module() - - -sys.modules["cairo"] = exec_module(os.path.join(dir_, "..", "cairo", "__init__.pyi")) +loader = importlib.machinery.SourceFileLoader( + "cairo", os.path.join(dir_, "..", "cairo", "__init__.pyi") +) +spec = importlib.util.spec_from_loader("cairo", loader) +module = importlib.util.module_from_spec(spec) +sys.modules["cairo"] = module +loader.exec_module(module) extensions = [ 'sphinx.ext.intersphinx',