Эквивалент подмодуля Maven/Gradle для проектов PythonPython

Программы на Python
Ответить
Anonymous
 Эквивалент подмодуля Maven/Gradle для проектов Python

Сообщение Anonymous »

Мотивация:
Я разрабатываю несколько библиотек пакетов Python со следующим деревом зависимостей:

Код: Выделить всё

bootstrap_library
├── library_a
│   └── library_utils
├── library_b
│   └── library_utils
└── library_utils
Каждая библиотека имеет отдельный проект и отдельную конфигурацию pyproject.toml (вместе со стихами). Следствием быстрой разработки является то, что если мне нужно внести изменения в более низкие зависимости, мне придется переустанавливать более новые версии библиотеки в других библиотеках, вносить изменения и там и повторять процедуру. Вместе с медленным разрешением зависимостей для поэтических и частных репозиториев это ОЧЕНЬ утомительно и отнимает много времени.
Проекты Maven/Gradle имеют аналогичную структуру:

Код: Выделить всё

project
├── module_client
│   ├── src
│   └── [pom.xml|build.gradle]
├── module_server
│   ├── src
│   └── [pom.xml|build.gradle]
├── module_core
│   ├── src
│   └── [pom.xml|build.gradle]
└── [pom.xml|build.gradle]
Используя эту структуру, модули внутри проекта действуют как меньшие подпроекты и могут зависеть от одноуровневых модулей.
Версию также можно использовать совместно с моими модулями
Команда сборки, например пакет mvn сразу построит все подмодули в отдельные jar-файлы/артефакты.
Мне нужно достичь следующих целей:
  • Проект Python с предоставлением подпроекты
  • Способ зависимости от родственных подпроектов, которые присутствуют в проекте в том виде, в котором они есть.
  • Создайте проект так, чтобы все колеса/дистрибутивы подпроектов собираются вместе
Есть ли аналогичный способ настройки проекта Python с использованием pyproject.toml и setup.cfg , который соответствует этим целям?
Если нет, существуют ли какие-либо инструменты, которые могут поддерживать/поддерживать такие типы проектов?

Подробнее здесь: https://stackoverflow.com/questions/748 ... n-projects
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»