AnswerDotAI / AnswerDotAI/fastprogress

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

Abierto
#124 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Jupyter Notebook
Estrellas
1.1k
Forks
103
Merge medio
1 min
PR fusionados (30 d)
1

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con la configuración de dependencias utilizada por Poetry y la implementación existente de f-string en core.py; sigue cómo python-fasthtml introduce la cadena de apsw. Se considera terminado cuando las plataformas afectadas pueden instalar fastprogress sin la dependencia de SQLite C que falla y la representación del progreso en Jupyter sigue funcionando.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
jupyter-notebook, python
Área
build-system
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.