AnswerDotAI / AnswerDotAI/fastprogress
python-fasthtml dependency pulls in SQLite C bindings, breaking installs on some platforms
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 1.1k
- Forks
- 104
- Ø Merge
- 1 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
fastprogress 1.1.0 switched from raw HTML strings to fasthtml FT components for Jupyter rendering. The problem is the transitive dep chain this introduces:
```
fastprogress -> python-fasthtml -> fastlite -> apswutils -> apsw
```
apsw is a SQLite C extension that needs pre-built wheels or a compiler. Poetry can't find wheels for some platforms, so `poetry install` just fails -- which blocks anything that depends on fastprogress (in my case, blackjax -- It seems the blackjax team is also tracking this on their end: https://github.com/blackjax-devs/blackjax/issues/812).
fastprogress only uses 9 tag constructors (Div, Progress, Table, Tr, Td, Th, Thead, Tbody, P) but python-fasthtml also drags in starlette, uvicorn, httpx, oauthlib, beautifulsoup4, etc. That's a lot of weight for a progress bar.
The old f-string approach in core.py still exists and worked fine. Could the fasthtml dep be made optional with a fallback to the f-string versions? Or even just vendor the few FT helpers that are actually needed?
My workaround for this is to pin `fastprogress<1.1` in my project.
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit der von Poetry verwendeten Abhängigkeitskonfiguration und der bestehenden f-string-Implementierung in core.py; verfolgen Sie, wie python-fasthtml die apsw-Kette einführt. Als abgeschlossen gilt es, wenn betroffene Plattformen fastprogress ohne die fehlschlagende SQLite-C-Abhängigkeit installieren können und die Jupyter-Fortschrittsanzeige weiterhin funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- jupyter-notebook, python
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100