Sei por que isso é bom em geral: correções de segurança mais rápidas, empacotamento mais fácil, mais recursos. No entanto, estou tentando convencer alguns colegas de trabalho de que não precisamos agrupar uma biblioteca com o nosso programa. Ele não funcionará sem essa biblioteca, mas a biblioteca está estável por um tempo e permanecerá assim no futuro próximo. Não vejo nenhuma razão para NÃO desmembrá-lo.
Que argumentos eu poderia usar para convencê-los?
Minha situação específica é a seguinte: estou trabalhando no SymPy , que é uma biblioteca Python de código aberto para matemática simbólica. Uma parte essencial disso é o mpmath , que é uma biblioteca para aritmética de ponto flutuante com várias previsões. SymPy não funciona sem mpmath, não há alternativa. Como tal, ele vem junto com o SymPy desde o início (disseram-me que geralmente havia pequenas incompatibilidades a serem corrigidas toda vez que uma nova versão é importada). Também deve ser observado que o desenvolvedor do mpmath costumava estar envolvido no desenvolvimento do SymPy. Agora há um problema no separar mpmath, você pode ler tudo aqui .
Para resumir a discussão lá:
Separar:
Um pouco mais fácil de portar para Python 3 (pequeno argumento IMHO)
Embalagem mais fácil para distribuições
Atualizações mais rápidas (de segurança) para os usuários
"Dependências de empacotamento e manuseio são problemas difíceis, mas estão resolvidas. Definitivamente, não é uma área em que devemos fazer nossas próprias coisas."
Continue agrupando:
Instalação. É fácil no Linux, mais difícil no Mac e muito difícil no Windows. Falta de acesso ao su e outros problemas.
é parte integrante do SymPy, ou seja, o sympy não funciona sem ele (de maneira alguma)
não há outro pacote que possa fazer o trabalho de mpmath
"Quando eu, como usuário, faço o download do sympy, espero que funcione."
Essa é minha situação específica, mas eu aceitaria uma resposta que também forneça uma resposta geral boa.