Sé por qué esto es bueno en general: soluciones de seguridad más rápidas, empaquetado más fácil, más funciones. Sin embargo, estoy tratando de persuadir a algunos compañeros de trabajo de que no necesitamos agrupar una biblioteca con nuestro programa. No funcionará sin esta biblioteca, pero la biblioteca ha estado estable por un tiempo y lo seguirá siendo en el futuro previsible. No veo ninguna razón para NO separarlo.
¿Qué argumentos podría usar para persuadirlos?
Mi situación específica es esta: estoy trabajando en SymPy , que es una biblioteca de Python de código abierto para matemática simbólica. Una parte central es mpmath , que es una biblioteca para aritmética de punto flotante de previsión múltiple. SymPy no funciona sin mpmath, no hay alternativa. Como tal, se ha incluido con SymPy desde el principio (me dijeron que generalmente había pequeñas incompatibilidades para solucionar cada vez que se importa una nueva versión). También debe tenerse en cuenta que el desarrollador de mpmath solía estar involucrado en el desarrollo de SymPy. Ahora hay un problema en desagregar mpmath, puedes leerlo todo aquí .
Para resumir la discusión allí:
Desagregar:
Portar algo más fácil a Python 3 (argumento menor en mi humilde opinión)
Empaque más fácil para distribuciones
Actualizaciones de funciones (seguridad) más rápidas para los usuarios
"Las dependencias de empaque y manejo son problemas difíciles, pero se resuelven. Definitivamente, esta no es un área en la que debamos hacer lo nuestro".
Sigue agrupando:
Instalación. Es fácil en Linux, más difícil en Mac y muy difícil en Windows. Falta de acceso a su y otros problemas.
Es una parte integral de SymPy, es decir, Sympy no funciona sin él (en absoluto)
no hay otro paquete que pueda hacer el trabajo de mpmath
"Cuando yo, como usuario, descargo Sympy, espero que simplemente funcione".
Esa es mi situación específica, pero acepto una respuesta que también proporciona una buena respuesta general.