> Файл
manage.py лежит на уровне одного приложения.
потому что
pulpcore.app - это джанго часть проекта,
manage.py нафиг не нужен в корне, так как устанавливается через entry_points.
> а почему здесь settings не разделен на base/local/prod.
во-первых потому что это продукт, который должен быть reusable, соответственно прод. специфичные настройки отданы на откуп пользователю
во-вторых подтягивание environment-specific конфига сделано через dynaconf.
> files, fields, pagination, util я бы вынес в какую-нибудь папку utils
я не автор проекта, это вкусовщина, свои соображения можешь изложить в issue или выслать им pull request.