async def setup_lambdex(lambdex: Lambdex) -> LambdexSetup: requirements_pex = await Get[Pex](PexRequest( output_filename="lambdex.pex", requirements=PexRequirements(lambdex.get_requirement_specs()), interpreter_constraints=PexInterpreterConstraints( lambdex.default_interpreter_constraints), entry_point=lambdex.get_entry_point(), )) return LambdexSetup(requirements_pex=requirements_pex, )
def create_python_awslambda(self, addr: str) -> Tuple[str, bytes]: lambdex_setup = self.request_single_product( LambdexSetup, Params( PythonSetup.global_instance(), PythonNativeCode.global_instance(), SubprocessEnvironment.global_instance(), Lambdex.global_instance(), )) target = self.request_single_product(HydratedTarget, Address.parse(addr)) created_awslambda = self.request_single_product( CreatedAWSLambda, Params( target.adaptor, lambdex_setup, SourceRootConfig.global_instance(), PythonSetup.global_instance(), PythonNativeCode.global_instance(), SubprocessEnvironment.global_instance(), )) files_content = list( self.request_single_product(FilesContent, Params(created_awslambda.digest))) assert len(files_content) == 1 return created_awslambda.name, files_content[0].content