Closed albertotb closed 1 week ago
Attention: Patch coverage is 0%
with 1 line
in your changes missing coverage. Please review.
Project coverage is 56.52%. Comparing base (
8349e19
) to head (0208bb6
).
Files with missing lines | Patch % | Lines |
---|---|---|
template/api.py | 0.00% | 1 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Esto está todavía en fase experimental. Sobre el -e, si ejecutas las cosas con uv run no es problema porque regenera el fichero uv.lock e instala todo automáticamente, con lo que siempre tienes la última versión. No tengo claro que pasa si ejecutas sin uv run, activando el entorno manualmente.
@davidggphy Parece que uv sync
instala la la librería de root, a la que hace referencia pyproject.toml
en formato editable por defecto. Se puede comprobar con el siguiente experimento:
uv sync
En la siguiente sesión entre el primer y segundo import se editó el fichero main.py
añadiendo la string TEST
y no se ejecutá ningún comando de uv
(ni sync, ni run ni lock):
@davidggphy Parece que
uv sync
instala la la librería de root, a la que hace referenciapyproject.toml
en formato editable por defecto.
Perfecto, estaba pensando en el modo de desarrollo con notebooks y autoreload en el que vas editando algún módulo a la vez. Que para que funcione cuando tienes el proyecto como librería, debe estar en modo editable
@davidggphy Parece que
uv sync
instala la la librería de root, a la que hace referenciapyproject.toml
en formato editable por defecto.Perfecto, estaba pensando en el modo de desarrollo con notebooks y autoreload en el que vas editando algún módulo a la vez. Que para que funcione cuando tienes el proyecto como librería, debe estar en modo editable
Para notebooks solo hace falta añadir ipykernel, normalmente a las dependencias de desarrollo y VSCode detecta el kernel del venv automáticamente. Lo único que no funciona es intalar ipykernel con el prompt de VSCode, hay que hacerlo con la terminal.
Para solucionar #48 se usa la flag "system" en el hook de mypy en pre-commit. Eso quiere decir que hay que intalarlo explicitamente en la Action. Sin embargo, tiene pinta que ahora mismo en la Action uv está instalando las dependencias en un entorno virtual en lugar de en el Python del sistema, por lo que pre-commit no encuentra mypy.
Posible parche mientras aqui: https://github.com/astral-sh/uv/issues/5964
uv ha añadido soporte para gestionar proyectos. Se prueba en esta PR
Relacionado: https://astral.sh/blog/uv-unified-python-packaging
EDIT:
De esos últimos hilos, probablemente queremos añadir el
--frozen
y el--no-locals
cuando lo implementen.Closes #43 Closes #48 Closes #49