jan_maly
12/07/2021, 11:26 AMedgar_ramirez_mondragon
12/07/2021, 4:38 PMjan_maly
12/07/2021, 5:26 PMedgar_ramirez_mondragon
12/07/2021, 6:23 PMWe are working on a very slim and performant Docker container with Meltano. We have run into several issues because of some missing system libraries required by plugins. It is hard to install those in a Python environment with pip (it is limited to Python).One avenue I have explored in the past that might work for this use case too is having a multi-stage build. The first stage has all the compilers and system dependencies required to build the python packages. The second stage is a more lightweight one without the compilers that just copies over the virtual environment(s) from the first one. There's an example here that might be a good starting point: https://pythonspeed.com/articles/multi-stage-docker-python/
Conda is a cross-platform package and environment manager that installs and manages conda packages. Conda packages are binaries. There is never a need to have compilers available to install them. Additionally conda packages are not limited to Python software.I think publishing a Meltano wheel to PyPI (we're only shipping a .tar.gz sdist at the moment) solves this problem. That would require us to build wheels for multiple target systems though (windows, macOS, linux, etc.), but I'm pretty sure conda packaging would impose a similar requirement. cc @aaronsteers
aaronsteers
12/07/2021, 6:42 PMjan_maly
12/07/2021, 6:48 PM