Skip to content

quarto-ghp: execnb 0.2 breaks nbdev<3 — ModuleNotFoundError: No module named 'execnb.nbio' #77

@caseytomlin

Description

@caseytomlin

Problem

quarto-ghp@master currently fails with:

ModuleNotFoundError: No module named 'execnb.nbio'

Root cause: The action runs pip install -Uq "nbdev<3", which pulls in the latest execnb (currently 0.2.1). execnb 0.2.0 removed the execnb.nbio submodule, but nbdev 2.x still imports it in nbdev/config.py:

from execnb.nbio import read_nb, NbCell

Affected: Any project using answerdotai/workflows/quarto-ghp@master as of execnb 0.2.0 release.

Reproduction

steps: [uses: answerdotai/workflows/quarto-ghp@master]

Output:

File ".../nbdev/config.py", line 20, in <module>
    from execnb.nbio import read_nb,NbCell
ModuleNotFoundError: No module named 'execnb.nbio'

Fix

Either:

  1. Pin execnb<0.2 in the action's install step alongside nbdev<3
  2. Migrate quarto-ghp to use nbdev>=3 (which uses the new execnb API)

Workaround

Projects can work around this today by setting PIP_CONSTRAINT at the job level to a constraints.txt that contains execnb<0.2:

jobs:
  gh_pages:
    env:
      PIP_CONSTRAINT: constraints.txt  # contains: execnb<0.2
    steps: [uses: answerdotai/workflows/quarto-ghp@master]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions