Le shéma (mot faible) que tu montres n'a rien d'exceptionnel, par exemple avec django il est plus que classique d'avoir une arborescence de ton type avec 3 niveaux.
MAIS
que le fichier de dernier niveau ait besoin de constantes "path" n'est pas du tout normal ! Normalement les fonctions(classes) de haut niveau sont justement au début et, au 3éme niveau on ne trouve que des fonctions(classes) de très bas niveau. Seules les fonctions de haut niveau ont besoin d'un environnement de travail.
Haut niveau exemple : Application.sauvegarder()
Bas niveau exemple : multiplier_facteur_x(x,y) , assainir_titre(), filtrer_dataframe(filtre_fonction, colonne), download_url() Et justement le travail sur panda est regroupé, le travail sur le web est regroupé, le travail sur ... Puisque tu les regroupes, tu peux parfois créer des classes "haut niveau" pour ces tâches (cela dépend beaucoup de ton app, donc pas forcément vrai)
-------
Et vouloir regrouper tes 4 librairies ... me fait penser que c'est (encore) une mauvaise chose puisque ce ne sont pas des librairies qui font les mêmes choses et devraient justement ne pas êtres toutes utiles dans les fichiers de bas niveau.