Repolode
pyutils

pyutils/line_profiler

Profiler línea por línea para Python que muestra cuánto tarda en ejecutarse cada línea del código fuente de una función decorada.

Estrellas
3,252
Forks
143
Issues abiertos
59
Último commit
hace 19 días

¿Qué es?

line_profiler mide el tiempo de ejecución línea por línea dentro de funciones de Python. Es útil cuando el profiling a nivel de función ya ha señalado una función lenta y necesitas identificar qué líneas concretas consumen ese tiempo. Las funciones se marcan con el decorador @profile y, cuando termina el script, se muestra un resumen por línea con el número de ejecuciones, el tiempo y el porcentaje del tiempo total.

El flujo de trabajo recomendado consiste en importar profile desde line_profiler, decorar las funciones de interés y definir la variable de entorno LINE_PROFILE=1 antes de ejecutar el script. El paquete también incluye kernprof, una utilidad de línea de comandos compatible con el flujo de trabajo anterior kernprof -lv. Se instala con pip y requiere Python 3.10 o posterior.

Este repositorio es el fork mantenido al que ahora apunta el paquete line_profiler de PyPI y da continuidad al trabajo del proyecto original de rkern. La documentación incluye instrucciones de uso básico, ejemplos y preguntas frecuentes.

Funciones clave

  • 01Muestra el número de ejecuciones, el tiempo y el porcentaje de cada línea de una función decorada.
  • 02Permite activar el profiling con el decorador @profile y la variable de entorno LINE_PROFILE.
  • 03Incluye la utilidad de línea de comandos kernprof.
  • 04Se instala desde PyPI con pip e incluye wheels para las plataformas más comunes.
  • 05Ofrece integración opcional con IPython mediante el extra ipython.

Casos de uso

  • Identificar qué líneas de una función lenta de Python consumen la mayor parte del tiempo de ejecución.
  • Analizar el rendimiento de scripts de procesamiento de datos o de cálculos numéricos antes de optimizarlos.
  • Comprobar el efecto de un cambio de código en líneas concretas de una función crítica.

Inicio rápido

  1. 1

    Instala line_profiler con pip

    pip install line_profiler
  2. 2

    Importa profile y decora la función que quieras perfilar

  3. 3

    Establece LINE_PROFILE=1 y ejecuta el script como de costumbre

Antes de usarlo

  • Requiere Python 3.10 o posterior; las versiones anteriores de Python necesitan versiones más antiguas.
  • La instalación desde el código fuente puede requerir un compilador de C, y los checkouts de git también necesitan Cython.

Temas

Preguntas frecuentes

¿Qué es line_profiler?
Profiler línea por línea para Python que muestra cuánto tarda en ejecutarse cada línea del código fuente de una función decorada. line_profiler mide el tiempo de ejecución línea por línea dentro de funciones de Python. Es útil cuando el profiling a nivel de función ya ha señalado una función lenta y necesitas identificar qué líneas concretas consumen ese tiempo. Las funciones se marcan con el decorador @profile y, cuando termina el script, se muestra un resumen por línea con el número de ejecuciones, el tiempo y el porcentaje del tiempo total.
¿line_profiler es gratuito? ¿Qué licencia tiene?
line_profiler es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿line_profiler sigue mantenido?
Mantenimiento activo. El último commit de line_profiler fue el 18 oct 2026.
¿Para qué puedo usar line_profiler?
Identificar qué líneas de una función lenta de Python consumen la mayor parte del tiempo de ejecución. Analizar el rendimiento de scripts de procesamiento de datos o de cálculos numéricos antes de optimizarlos. Comprobar el efecto de un cambio de código en líneas concretas de una función crítica.
¿Cómo se instala line_profiler?
Instala line_profiler con pip: pip install line_profiler Importa profile y decora la función que quieras perfilar Establece LINE_PROFILE=1 y ejecuta el script como de costumbre
¿Dónde consigo line_profiler?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pyutils/line_profiler

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados