async def run_python_repl(repl: PythonRepl) -> ReplBinary: addresses = Addresses(tgt.address for tgt in repl.targets) two_step_pex = await Get[TwoStepPex]( TwoStepPexFromTargetsRequest( PexFromTargetsRequest(addresses=addresses, output_filename="python-repl.pex",) ) ) repl_pex = two_step_pex.pex return ReplBinary(digest=repl_pex.digest, binary_name=repl_pex.output_filename)
async def run_ipython_repl(repl: IPythonRepl, ipython: IPython) -> ReplBinary: addresses = Addresses(tgt.address for tgt in repl.targets) two_step_pex = await Get[TwoStepPex](TwoStepPexFromTargetsRequest( PexFromTargetsRequest( addresses=addresses, output_filename="ipython-repl.pex", entry_point=ipython.get_entry_point(), additional_requirements=ipython.get_requirement_specs(), ))) repl_pex = two_step_pex.pex return ReplBinary(digest=repl_pex.digest, binary_name=repl_pex.output_filename)