def local_notebook()

in sagemaker_run_notebook/cli.py [0:0]


def local_notebook(args):
    params = process_params(args.p)
    notebook_dir = os.path.dirname(args.notebook)
    notebook = os.path.basename(args.notebook)

    nb_name, nb_ext = os.path.splitext(notebook)
    timestamp = time.strftime("%Y-%m-%d-%H-%M-%S", time.gmtime())
    result = "{}-{}{}".format(nb_name, timestamp, nb_ext)

    session = boto3.session.Session()
    region = session.region_name
    account = session.client("sts").get_caller_identity()["Account"]
    image = args.image
    if not image:
        image = "notebook-runner"
    if "/" not in image:
        image = f"{account}.dkr.ecr.{region}.amazonaws.com/{image}"
    if ":" not in image:
        image = image + ":latest"

    base_cmd = ["docker", "run", "--rm", "-td" if args.no_wait else "-ti"]
    mnts = [
        "-v",
        os.path.abspath(notebook_dir) + ":/opt/ml/processing/input",
        "-v",
        os.path.abspath(args.output_dir) + ":/opt/ml/processing/output",
    ]
    env = [
        "-e",
        f"PAPERMILL_INPUT=/opt/ml/processing/input/{notebook}",
        "-e",
        f"PAPERMILL_OUTPUT=/opt/ml/processing/output/{result}",
        "-e",
        f"PAPERMILL_PARAMS={json.dumps(params)}",
        "-e",
        f"PAPERMILL_NOTEBOOK_NAME={notebook}",
        "-e",
        f"AWS_DEFAULT_REGION={region}",
    ]
    cmd = [*base_cmd, *mnts, *env, image, "run_notebook"]
    p = subprocess.run(cmd)
    print(f"Run finished with status {p.returncode}")