Capturing complex feature engineering processes is not easy and error prone, particularly when using dynamic typed languages.
I explored reusing TensorFlow graph as a Domain Specific Language for feature engineering in (rejected) NeurIPS 2019 workshop submission:
Deep Neural Networks have fulfilled the promise to reduce the need of feature engineering by leveraging deep networks and training data. An interesting side effect, maybe unexpected, is that frameworks for implementing Deep Learning networks can also be used as frameworks for feature engineering. We sketch here some ideas for a DSL implemented on top of TensorFlow, hoping to attract interest from both the deep learning computational graph and programming languages communities.
See the submission for details.
For an alternative approach, programmed in Scala, take a look at TransmogrifAI. And for a related effort with a full Web UI look at OpenRefine.