---
id: slugify_ascii_py_core
name: slugify_ascii
kind: function
lang: py
domain: core
version: "1.0.0"
purity: pure
signature: "def slugify_ascii(text: str, max_len: int = 80, default: str = \"centro\") -> str"
description: "Convierte texto a slug ASCII lowercase sin diacriticos. Strip + lower + NFD + reemplaza non-alphanum por guion + colapsa guiones. Si vacio retorna default. Trunca a max_len."
tags: [string, normalization, slug, ascii, spain, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: ["re", "unicodedata"]
example: |
  from slugify_ascii import slugify_ascii
  slugify_ascii("Calle Mayor, 14")   # "calle-mayor-14"
  slugify_ascii("Ávila")             # "avila"
  slugify_ascii("")                  # "centro"
  slugify_ascii("a" * 100, max_len=10)  # "aaaaaaaaaa"
tested: true
tests: ["slugify texto con puntuacion", "slugify diacriticos", "slugify cadena vacia retorna default", "slugify trunca a max_len"]
test_file_path: "python/functions/core/tests/test_slugify_ascii.py"
file_path: "python/functions/core/slugify_ascii.py"
params:
  - name: text
    desc: "Texto de entrada a convertir en slug. None se trata como cadena vacia."
  - name: max_len
    desc: "Longitud maxima del slug resultante. Por defecto 80 caracteres."
  - name: default
    desc: "Valor a retornar si el slug resultante esta vacio. Por defecto 'centro'."
output: "Slug ASCII lowercase sin diacriticos, maximo max_len caracteres. Retorna default si el resultado esta vacio."
source_repo: "internal:footprint_aurgi"
source_license: "internal-aurgi"
source_file: "zonas_mapas_aurgi/scripts/generate_isochrones.py"
---

## Ejemplo

```python
from slugify_ascii import slugify_ascii

slugify_ascii("Calle Mayor, 14")        # "calle-mayor-14"
slugify_ascii("Ávila")                  # "avila"
slugify_ascii("")                       # "centro"
slugify_ascii(None)                     # "centro"
slugify_ascii("a" * 100, max_len=10)    # "aaaaaaaaaa"
slugify_ascii("---", default="sin-nombre")  # "sin-nombre"
```

## Notas

Funcion pura sin dependencias externas. Usa solo `re` y `unicodedata` de stdlib.
Adaptada de `_slugify` en `zonas_mapas_aurgi/scripts/generate_isochrones.py` y
`ponderacion_isochronas/src/generar_isochronas_aurgi.py`, combinando la
normalizacion NFD de la primera con el truncado y default de la segunda.
