AnswerDotAI / AnswerDotAI/fastprogress

python-fasthtml dependency pulls in SQLite C bindings, breaking installs on some platforms

Aperta
#124 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Jupyter Notebook
Stelle
1.1k
Fork
104
Merge medio
1m
PR unite (30g)
1

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dalla configurazione delle dipendenze usata da Poetry e dall’implementazione esistente di f-string in core.py; traccia il modo in cui python-fasthtml introduce la catena apsw. Il lavoro è concluso quando le piattaforme interessate possono installare fastprogress senza la dipendenza SQLite C che fallisce e il rendering dell’avanzamento in Jupyter continua a funzionare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
jupyter-notebook, python
Ambito
build-system
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.