Я создаю колеса для чистого Python проекта. Проект должен быть запущен в контейнере Docker, который проходит несколько сложных процессов сборки после копирования колеса в него. Я хотел бы воспользоваться кешем сборки Docker, но для этого мне нужно убедиться, что контрольная сумма файла встроенного колеса не изменится без необходимости.
Колеса основаны на zip, который означает, что при изменении некоторых видов метаданных во включаемых файлах изменяется сам zip-файл (и, следовательно, колесо). Но я не хочу, чтобы подобные изменения влияли на контрольную сумму файлов в колесе. Я только хочу, чтобы изменения в исходном коде проекта вызвали перестройку.
Я продумал некоторые довольно сложные решения этой проблемы, такие как ручное ведение записи отдельных контрольных сумм файлов, перечисленных в myproject.egg-info / SOURCES.txt, но есть ли более простой способ предотвратить изменение колеса, если ни один из источников существенно не изменился? (Например, есть ли способ запросить setuptools или egg-info, чтобы узнать, изменит ли что-нибудь пересбор?)