Получить функционал кода более или менее просто, поскольку вы можете сделать выбор с учетом версии в ваш код для удовлетворения вашего набора тестов, например. используя такие шаблоны:
Код: Выделить всё
import pydantic
PYDANTIC_VERSION = packaging.version.parse(pydantic.__version__)
if PYDANTIC_VERSION.major == 1:
# do some v1 things
else:
# do some v2 things
Это имеет смысл, поскольку mypy не является средством проверки типов во время выполнения, но я Интересно, существуют ли какие-либо передовые методы достижения такой цели.
Эта проблема не уникальна для pydantic, это всего лишь пример. Я знаю, что такие переключатели версий работают в версии интерпретатора (
Код: Выделить всё
sys.version_infoПодробнее здесь: https://stackoverflow.com/questions/783 ... itive-code