Source code for fluidsim_core.ipy_load

"""For command fluidsim-ipy-load

.. autofunction:: start_ipython_load_sim

"""

import argparse
from textwrap import dedent


[docs] def start_ipython_load_sim(load_import="from fluidsim import load"): """Start IPython and load a simulation""" parser = argparse.ArgumentParser( prog="ipy-load", description="Start IPython and load a simulation", ) parser.add_argument("path_dir", nargs="?", default=None) args = parser.parse_args() from IPython import start_ipython argv = ["--matplotlib", "-i", "-c"] code = dedent( f""" import numpy as np import matplotlib.pyplot as plt import pandas as pd {load_import} print("Loading simulation") sim = load() params = sim.params print("`sim`, `params`, `np`, `plt` and `pd` variables are available") """ ) lines = code.strip().split("\n") if args.path_dir is not None: from fluidsim_core.paths import find_path_result_dir path_dir = find_path_result_dir(args.path_dir) lines.insert(0, f"import os; os.chdir('{path_dir}')") argv.append("; ".join(lines)) start_ipython(argv=argv)