AnswerDotAI / AnswerDotAI/nbdev

pre-commit hooks don't work with 2.3.37

Offen
#1,509 8 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
bug
Vorherrschende Sprache
Jupyter Notebook
Sterne
5.3k
Forks
513
Ø Merge
2 T. 30 Min.
Gemergte PRs (30 T.)
8

Beschreibung

Pre-commit hooks are installed from github directly. The source for tag 2.3.37 identifies the library version as 2.3.32 while the actual library install (via pypi) is identifying itself as 2.3.37. This has been true for a few past versions as well based on a quick look at the source. So in my environment nbdev is being installed at 2.3.37 with fastcore at 1.8. But the precommit hooks, while directed to 2.3.37 are triggering installs identifying themselves as 2.3.32 and 1.8. Theoretically I have the source for 2.3.37, but the version is just mislabeled, except that the hooks don't work.

The error below indicates the hook is trying to use source that hasn't been updated for fastcore 1.8, but I'm not sure why. I've uninstalled and cleaned the cache for my hooks before reinstalling. nbdev and fastcore work fine together when I call nbdev_clean/export manually. Those installs are coming from conda->pip and identify as their intended versions according to the __init__.py files in the conda sitepackages folder.

I thought this was a caching problem until I saw the 2.3.32 identifier in the github source.

> pre-commit run
> [WARNING] Unstaged files detected.
> [INFO] Stashing unstaged files to /home/idahlke/.cache/pre-commit/patch1742504830-18983.
> nbdev_clean..............................................................Failed
> - hook id: nbdev_clean
> - exit code: 1
>
> Traceback (most recent call last):
> File "/home/idahlke/.cache/pre-commit/repot0rqgexy/py_env-python3.10/bin/nbdev_clean", line 5, in
> from nbdev.clean import nbdev_clean
> File "/home/idahlke/.cache/pre-commit/repot0rqgexy/py_env-python3.10/lib/python3.10/site-packages/nbdev/__init__.py", line 4, in
> from .showdoc import show_doc
> File "/home/idahlke/.cache/pre-commit/repot0rqgexy/py_env-python3.10/lib/python3.10/site-packages/nbdev/showdoc.py", line 10, in
> from fastcore.dispatch import TypeDispatch
> File "/home/idahlke/.cache/pre-commit/repot0rqgexy/py_env-python3.10/lib/python3.10/site-packages/fastcore/dispatch.py", line 2, in __getattr__
> raise ImportError(
> ImportError: Could not import '__path__' from fastcore.dispatch - this module has been moved to the fasttransform package.
> To migrate your code, please see the migration guide at: https://answerdotai.github.io/fasttransform/fastcore_migration_guide.html

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start by comparing the 2.3.37 GitHub source with the installed package metadata, especially nbdev/__init__.py, nbdev/showdoc.py, and the fastcore.dispatch import shown in the traceback. Re-run `pre-commit run` after examining how the hook installs its environment; done means the 2.3.37 hooks use compatible package versions and complete without the fastcore migration error.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
jupyter, python
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.