Skip to content

Commit f0095cf

Browse files
FIX: drop --no-build-isolation from JupyterLite wheel build
The doc build (CircleCI build_docs / make html) failed with "BackendUnavailable: Cannot import 'hatchling.build'". MNE uses the hatchling build backend (build-backend = "hatchling.build", requires hatch-vcs + hatchling). --no-build-isolation skips creating an isolated build env, so those build deps were missing on CI and the wheel build exited with status 2, aborting conf.py and the whole doc build. Build isolation is now left on (the default): pip installs the build backend in a fresh env and builds from a copy that still reads the patched pyproject.toml, so the relaxed Pyodide constraints are retained. The matplotlib version mismatch is independently handled at install time by micropip.install(..., keep_going=True), so wheel-metadata accuracy is no longer required for correctness. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 00f647e commit f0095cf

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

doc/conf.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,13 @@
560560
try:
561561
with open(pyproject_path, "w", encoding="utf-8") as f:
562562
f.write(patched)
563+
# NB: build isolation is left ON (the default). MNE uses the hatchling
564+
# build backend (build-backend = "hatchling.build"), so pip must create
565+
# an isolated build env to install hatchling/hatch-vcs; passing
566+
# --no-build-isolation fails with "Cannot import 'hatchling.build'" on
567+
# CI where those build deps are not in the base environment. Isolation
568+
# also builds from a fresh copy that reads the patched pyproject.toml
569+
# below, so the relaxed constraints are still picked up.
563570
subprocess.run(
564571
[
565572
sys.executable,
@@ -568,7 +575,6 @@
568575
"wheel",
569576
"..",
570577
"--no-deps",
571-
"--no-build-isolation",
572578
"-w",
573579
dist_lite_dir,
574580
],

0 commit comments

Comments
 (0)