Мне интересно, как работать с несколькими основными версиями библиотеки зависимостей.
У меня есть библиотека с открытым исходным кодом, Foo
, на ранней стадии выпуска. Библиотека является оболочкой для другой библиотеки с открытым исходным кодом, Bar
. Bar
только что запустил новую основную версию. Foo
в настоящее время поддерживает только предыдущую версию. Поскольку я предполагаю, что многие люди будут очень медленно переходить с предыдущей основной версии Bar
на новую основную версию, я не хочу сам переходить на новую версию.
Как это лучше всего обрабатывается? Как я вижу, у меня есть эти варианты
- Переключиться на новую основную версию, что может отказать людям в старой версии.
- Продолжайте использовать старую версию, потенциально отказывая людям в новой версии.
- Имеет две разные ветви, обновляя обе ветви для всех новых функций. Не уверен, как это работает с PyPi. Разве мне не приходилось каждый раз выпускать под разными номерами версий?
- Разделите хранилище на две части. Не очень хочу это делать.
Идеальным решением для меня было бы иметь такую же кодовую базу, где я мог бы иметь какую-то макросоподобную вещь C / C ++, где, если версия new
, использовать new_bar_function
, иначе использовать old_bar_function
, При установке библиотеки из PyPi уже установленная версия основной версии определяет, какая версия используется. Если версия не установлена, установите самую новую версию.
Буду очень признателен за некоторые указатели.