def METHOD_NAME(session: Session, fides_image: Literal["test", "dev"] = "test") -> None:
    """
    Spins up a full fides environment seeded with data.
    Params:
        dev = Spins up a full fides application with a dev-style docker container.
              This includes hot-reloading and no pre-baked UI.
        test = Spins up a full fides application with a production-style docker
               container. This includes the UI being pre-built as static files.
    Posargs:
        keep_alive = does not automatically call teardown after the session
    """
    keep_alive = "keep_alive" in session.posargs
    if fides_image == "dev":
        session.error(
            "'fides_env(dev)' is not currently implemented! Use 'nox -s dev' to run the server in dev mode. "
            "Currently unclear how to (cleanly) mount the source code into the running container..."
        )
    # Record timestamps along the way, so we can generate a build-time report
    timestamps = []
    timestamps.append({"time": time.monotonic(), "label": "Start"})
    session.log("Tearing down existing containers & volumes...")
    try:
        teardown(session, volumes=True)
    except CommandFailed:
        session.error("Failed to cleanly teardown. Please try again!")
    timestamps.append({"time": time.monotonic(), "label": "Docker Teardown"})
    session.log("Building production images with 'build(test)'...")
    build(session, "test")
    timestamps.append({"time": time.monotonic(), "label": "Docker Build"})
    session.log("Installing ethyca-fides locally...")
    install_requirements(session)
    session.install("-e", ".", "--no-deps")
    session.run("fides", "--version")
    timestamps.append({"time": time.monotonic(), "label": "pip install"})
    # Configure the args for 'fides deploy up' for testing
    env_file_path = Path(__file__, "../../.env").resolve()
    fides_deploy_args = [
        "--no-pull",
        "--no-init",
        "--env-file",
        str(env_file_path),
    ]
    session.log("Deploying test environment with 'fides deploy up'...")
    session.log(
        f"NOTE: Customize your local Fides configuration via ENV file here: {env_file_path}"
    )
    session.run(
        "fides",
        "deploy",
        "up",
        *fides_deploy_args,
    )
    timestamps.append({"time": time.monotonic(), "label": "fides deploy"})
    # Log a quick build-time report to help troubleshoot slow builds
    session.log("[fides_env]: Ready! Build time report:")
    session.log(f"{'Step':5} | {'Label':20} | Time")
    session.log("------+----------------------+------")
    for index, value in enumerate(timestamps):
        if index == 0:
            continue
        session.log(
            f"{index:5} | {value['label']:20} | {value['time'] - timestamps[index-1]['time']:.2f}s"
        )
    session.log(
        f"      | {'Total':20} | {timestamps[-1]['time'] - timestamps[0]['time']:.2f}s"
    )
    session.log("------+----------------------+------\n")
    # Start a shell session unless 'keep_alive' is provided as a posarg
    if not keep_alive:
        session.log("Opening Fides CLI shell... (press CTRL+D to exit)")
        session.run(*EXEC_IT, "/bin/bash", external=True, success_codes=[0, 1])
        session.run("fides", "deploy", "down")