I am still climbing the learning curve here, and I learnt a lot from the LEAN source code. However, it is not clear to me what is the preferred approach I would have to take in my little research project.

I am more fluid with C#(/Java) then Python, but I only need Python for some machine learning bits (which I will implement through Tensorflow/Keras). What would be the primary route to take here? 

Start from C#, encapsulate and wrap all ML bits in as few python classes as possible, and call these from compiled code, or just forego C#, and do everything in python? 

Things to consider for me are ease of development & debugging, execution speed (compiled code vs interpreted code), reduce the footprint of the LEAN docker container (15GB out of the box, which is hefty), potentially be able to extend LEAN with other building blocks like a REST interface, or through class inheritance, database connectivity,.... and lastly avoid the version dependency mess with all the python packages that are part of LEAN (i.e. I try to build a docker image using the Dockerfiles provided in the distribution, but that is a road full of bumps as there dependency issues)  

Is the Python .NET integration "fluid", or are there any things/pitfalls to know in advance that might impact the decision to take?

  

Author