Before any question, a little bit of context:
Monorepo using Python, split into “libraries” and “lambdas” folders. A “lambda” folder can have a library dependency from “libraries” folder. Each lambda folder is meant to be zipped and used as, guess what: aws lambda package.
In order to create each lambda package, we developped a tool that looks for dependency file and gather everything in a dist folder. This folder is then zipped and meant to be used as a aws lambda package.
So, Pants looks like the perfect tool to replace our internal one. I already managed to have something working on a test repository (with dummy files, but with the same folder organization), but I have some questions:
• Using python_awslambda seemed perfect but not really... As it using PEX, it needs to have a runtime defined. This means that I have to define it in the Pants target, but also again in my IaC tool (Using CDK). Is there any way to avoid it ? My guess is no.
• My idea was then to generate a simple archive, without any PEX related stuff. After trying the python_awslambda target, I tried the archive, but I can’t get archive target to work with python_sources. Is it normal? I have a python_sources target, with dependencies. It works great when used in python_awslambda target, but don’t work at all with archive. It seems to consider that there are no files to zip/tar. Is such a thing possible?
Feel free to ask for more details if needed! Thanks.