Repolode
asottile

asottile/pyupgrade

Herramienta de línea de comandos y hook de pre-commit que reescribe automáticamente código Python para usar la sintaxis de una versión objetivo más reciente.

Estrellas
4,126
Forks
229
Issues abiertos
21
Último commit
hace 3 días

¿Qué es?

pyupgrade reescribe archivos de código Python in situ para que usen la sintaxis y las convenciones de versiones más recientes de Python. Gestiona cambios como convertir formatos de cadenas antiguos en f-strings o en str.format, sustituir llamadas de compatibilidad de six por equivalentes nativos y simplificar comprensiones de conjuntos y diccionarios. Las reescrituras específicas de cada versión se activan con opciones como --py36-plus o --py310-plus, de modo que el resultado coincida con la versión mínima de Python que requiere el proyecto.

La herramienta se puede instalar con pip y ejecutar desde la línea de comandos con uno o varios archivos. También se puede integrar con pre-commit mediante un hook incluido, para que las reescrituras se ejecuten automáticamente en los archivos preparados antes de cada commit. Algunas reescrituras, como las que afectan a las anotaciones, solo se aplican cuando un archivo importa from __future__ import annotations; además, una opción permite mantener sin cambios el tipado en tiempo de ejecución cuando sea necesario.

Funciones clave

  • 01Reescribe formatos de cadenas antiguos como f-strings, str.format y literales simplificados.
  • 02Elimina six y el código de compatibilidad entre py2 y py3, incluidas las importaciones y las comprobaciones de versión.
  • 03Permite elegir versiones específicas de Python con opciones como --py36-plus y --py315-plus.
  • 04Moderniza anotaciones de tipos, como las formas de PEP 585 y PEP 604, cuando se activa.
  • 05Se ejecuta como hook de pre-commit en archivos preparados.

Casos de uso

  • Aumentar la versión mínima de Python de una base de código antigua sin editar cada archivo manualmente.
  • Eliminar el código de compatibilidad con Python 2 y six después de una migración.
  • Aplicar automáticamente sintaxis moderna mediante pre-commit en el repositorio de un equipo.

Inicio rápido

  1. 1

    Instala pyupgrade con pip

    pip install pyupgrade
  2. 2

    O añádelo como hook de pre-commit en .pre-commit-config.yaml usando la configuración de ejemplo del README

Antes de usarlo

  • Muchas reescrituras solo se aplican si se pasa una opción de versión objetivo, como --py36-plus o --py39-plus.

En colecciones

Temas

#python#linter#pre-commit#code-modernization#syntax-upgrade#refactoring

Preguntas frecuentes

¿Qué es pyupgrade?
Herramienta de línea de comandos y hook de pre-commit que reescribe automáticamente código Python para usar la sintaxis de una versión objetivo más reciente. pyupgrade reescribe archivos de código Python in situ para que usen la sintaxis y las convenciones de versiones más recientes de Python. Gestiona cambios como convertir formatos de cadenas antiguos en f-strings o en str.format, sustituir llamadas de compatibilidad de six por equivalentes nativos y simplificar comprensiones de conjuntos y diccionarios. Las reescrituras específicas de cada versión se activan con opciones como --py36-plus o --py310-plus, de modo que el resultado coincida con la versión mínima de Python que requiere el proyecto.
¿pyupgrade es gratuito? ¿Qué licencia tiene?
pyupgrade es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿pyupgrade sigue mantenido?
Mantenimiento activo. El último commit de pyupgrade fue el 4 nov 2026.
¿Para qué puedo usar pyupgrade?
Aumentar la versión mínima de Python de una base de código antigua sin editar cada archivo manualmente. Eliminar el código de compatibilidad con Python 2 y six después de una migración. Aplicar automáticamente sintaxis moderna mediante pre-commit en el repositorio de un equipo.
¿Cómo se instala pyupgrade?
Instala pyupgrade con pip: pip install pyupgrade O añádelo como hook de pre-commit en .pre-commit-config.yaml usando la configuración de ejemplo del README
¿Dónde consigo pyupgrade?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/asottile/pyupgrade

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

Proyectos relacionados