Módulo Python para la silabificación de palabras y textos.
>>> from epa_syllabifier import hyphenate, syllabify
>>> syllabify("arcançía")
['ar', 'can', 'çí', 'a']
>>> hyphenate("¡Andalûh EPA!")
'¡an·da·lûh e·pa!'syllabify() procesa una única unidad de palabra y devuelve sus sílabas como
lista. hyphenate() procesa texto completo y devuelve las fronteras silábicas
calculadas como interpunctos (·), conservando la puntuación, los espacios,
los saltos de línea y los guiones ortográficos interiores, como en l-l. Las
funciones normalizan las mayúsculas de las palabras analizadas.
La librería no valida si la grafía recibida pertenece al estándar EPA:
silabifica de forma tolerante préstamos, grafías heredadas y caracteres
desconocidos. syllabify() produce un error ValueError con frases o entradas
con espacios interiores; para procesar más de una palabra se utiliza
hyphenate().
Para revisar palabras una a una desde la terminal:
make tryEscribe una palabra EPA y pulsa Intro. El comando devuelve las sílabas
separadas por interpunctos (·) y queda esperando la siguiente palabra. Pulsa
Intro sin escribir texto para salir.
Para contribuir al proyecto, primero clona el repositorio y luego instala las dependencias de desarrollo:
git clone https://github.com/andalugeeks/epa-syllabifier.git
cd epa-syllabifier
# Configuración completa de desarrollo (crea venv e instala dependencias)
make dev-setup
# Ver comando para activar el entorno virtual
make activatePara ejecutar los tests:
# Ejecutar todos los tests
make test
# Ejecutar tests con cobertura
make test-coverage
# Ejecutar tests con salida detallada
make test-verbose
# Ejecutar tests
make quick-test
# Ejecutar únicamente el barrido exhaustivo de propiedades
make test-propertiesmake quick-test omite el barrido exhaustivo para facilitar iteraciones rápidas.
El resto de objetivos de test incluye las propiedades permanentes del
silabificador: toda combinación de hasta cuatro caracteres EPA debe procesarse
sin excepciones, sin sílabas vacías y sin perder caracteres.
Antes de guardar un checkpoint relevante en Git, ejecuta:
make ci-localEste comando limpia artefactos temporales, comprueba espacios sobrantes y
formato, ejecuta cobertura, prueba la suite con Python 3.10, 3.11, 3.12 y 3.13,
y construye la distribución. La ejecución utiliza
uv, que instala entornos aislados cuando son
necesarios.
# Ver todos los comandos disponibles
make help
# Formatear código con Black
make format
# Verificar formato del código
make lint
# Construir el paquete
make build
# Limpiar archivos temporales
make clean
# Configuración completa: limpieza + instalación + tests
make allLa auditoría lingüística inicial recoge las fuentes EPA utilizadas, las reglas ya cubiertas y las decisiones pendientes antes de ampliar el algoritmo.
- Python >= 3.10
Este proyecto está licenciado bajo la Licencia GPL v3 - ver el archivo LICENSE para más detalles.