def __init__(self, assets_dir=None, requirements_file="requirements.yml"):
        self.assets_dir = assets_dir or Path(".") / "assets"
        self.requirements = GroupedRequirements()
        self.requirements.load(requirements_file)
        self.temp_dir = mkdtemp()
def force(title, pos, force, xlabel='', ax=0):
    """plot force vs position"""
    unit = 'N'
    scale = 1
    if min(force) < -9.9e3 or max(force) > 9.9e3:
        scale = 1e-3
        unit = 'kN'
    if ax == 0:
        ax = plt.gca()
    ax.set_title('{} / {}'.format(title, unit))
    ax.grid(True)
    ax.plot(pos, [scale*f for f in force])
    if xlabel:
        ax.set_xlabel(xlabel)
    if min(force) > 0:
        ax.set_ylim(bottom=0)