Странно, что имея опыт разработки на других языках вы задаёте такой вопрос.
Если вам обязательно нужна книга, то, вот, прочитайте
Луца по диагонали.
Структуры приложений разные для разных применений, но в целом структуру пакета определяет setuptools. Это встроенный инструментарий работы с пакетами.
Оптимальные структуры имеет смысл искать на гитхабе по ключевым словам "project template" и "cookiecutter".
"Тиражирование" модулей через
https://pypi.org/.
Для тестирования есть несколько встроенных альтернатив и миллион сторонних. Выбирайте любую. Для начала не важно.
Как вы знаете для Java есть много всего типа maven, а для python есть что-то подобное? Или, так как язык не компилируемый, для него такого не нужно?
Все ваши потребности на первых порах слихвой покроют setuptools, pip, и github пайплайны.
На вашем уровне, наверно, рано лезть глубже. Придёт со временем.
Из IDE:
Pycharm (вполне достаточно бесплатной Community Edition) и
Visual Studio Code.