Haciendo del Desarrollo y la Arquitectura Web, ciencia y pasión.

Opciones del analizador de codigo Ruff

Ruff es un analizador de código y formateador para Python, diseñado para ser rápido y compatible con múltiples reglas de estilo y linters. Sus opciones se pueden configurar desde la línea de comandos o a través de archivos de configuración como pyproject.toml, .ruff.toml o ruff.yaml.

⚙️ Opciones principales de Ruff

1️⃣ Análisis de código estático (Linter)

Ruff puede reemplazar herramientas como flake8, pylint y mypy en algunas funciones:

  • Detección de errores comunes (E, W)

  • Errores de sintaxis y estilo (F)

  • Complejidad del código (C)

  • Seguridad (S)

  • Tipos de datos (ANN para anotaciones)

Ejemplo:

ruff check .

Opciones útiles:

ruff check --fix                 # Corrige errores automáticamente
ruff check --select E,W,F         # Solo chequea reglas específicas
ruff check --ignore ANN,S         # Ignora ciertas reglas
ruff check --show-source          # Muestra el código fuente de los errores
ruff check --preview              # Activa reglas en desarrollo

2️⃣ Formateo de código

Ruff también puede formatear el código como black:

ruff format .

Opciones útiles:

ruff format --check               # Verifica si el código ya está formateado
ruff format --diff                # Muestra los cambios sin aplicarlos

3️⃣ Soporte para archivos de configuración

Puedes personalizar Ruff en pyproject.toml:

[tool.ruff]
line-length = 88
target-version = "py311"

[tool.ruff.lint]
select = ["E", "W", "F", "C"]
ignore = ["ANN", "S"]

4️⃣ Integración con pre-commit

Puedes usar Ruff con pre-commit para evitar errores antes de hacer un commit:

- repo: https://github.com/astral-sh/ruff-pre-commit
  rev: v0.1.0
  hooks:
    - id: ruff
    - id: ruff-format