Make позволяет вам создавать конвейеры или DAG, которые запускаются только при изменении файла. Теперь существуют структуры для python, которые позволяют определять конвейеры как DAG в python и запускать их.
Реализует ли какой-либо из них обнаружение изменений на уровне функций?
Скажем, я есть такая дорогая функция, как эта
def expensive_function(x):
# do expensive stuff
, из которых я хочу кэшировать результат, потому что вычисление занимает много времени. Однако, если мне нужно изменить функцию, ее нужно запустить снова. Но его следует запускать только тогда, когда я действительно изменил реализацию, а не когда я изменил какую-то другую функцию, которая находится в том же файле.
Теперь, используя inspect, я могу получить код expensive_function
и вычислить ha sh, сохраните это и сравните, когда я захочу запустить его в следующий раз.
Существуют ли какие-либо системы сборки / структуры конвейера, в которых реализована такая функция? Я хочу использовать что-то подобное в проекте по науке о данных, но это не обязательно специально для науки о данных.