Babel: compile los archivos de traducción cuando llame a la instalación setup.py

Estoy desarrollando una aplicación Flask usando Babel. Gracias aIntegración de Distutils / Setuptools, todos los parámetros de compilar / extraer / ... funciones se almacenan ensetup.cfg y compilar los archivos i18n es tan fácil como

./setup.py compile_catalog

Excelente. Ahora me gustaría que esto se haga automáticamente al ejecutar

./setup.py install

Enmakelas palabras, eso sería dejarinstall objetivo depende decompile_catalog objetivo.

El contexto

Almacenamos solo traducción (.po) archivos en el repositorio de código..gitignore excluye.mo y.pot archivos de ser rastreados.

Cuando un desarrollador saca una nueva revisión del código, ejecuta

pip install -r requirements.txt

para actualizar dependencias e instalar el proyecto en modo de desarrollo. Luego, usando la línea de comando anterior, compila el binario de traducción (.mo) archivos.

¿Existe una manera simple y recomendada de modificarsetup.py hacer ambas operaciones en un solo paso? ¿O estoy tratando de usar malsetuptools?

Usar un script como este funcionaría para fines de desarrollo:

#!/bin/sh
./setup.py compile_catalog
pip install -r requirements.txt

pero me gustaría una solución que también funcione cuando el paquete se instala con la habitualsetup.py instrucciones de instalación, como si se instala desde PyPi.

Debería entender esosetuptools no están destinados a ser utilizados de esta manera, y las personas que distribuyen software compilan sus archivos de traducción de forma manual o usando scripts personalizados al crear sus archivos, en lugar de confiar ensetup.py para compilarlos en el momento de la instalación?

No encontré muchas publicaciones en Internet que trataran esto. Los que encontré involucrados corriendopybabel interfaz de línea de comando desde una función ensetup.py, lo que suena como una pena, ya que pierde el punto de integración de las herramientas de configuración.