AnswerDotAI / AnswerDotAI/workflows

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

Open
#77 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
44
Forks
40
PR merge metrics
No merged PRs in 30d

Description

## 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`:

```python
from execnb.nbio import read_nb, NbCell
```

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

## Reproduction

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

Output:
```
File ".../nbdev/config.py", line 20, in
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`:

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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.