#!venv/bin/python from argparse import ArgumentParser from pathlib import Path from typing import cast from data import parse_csv, Animator class Args: file: Path gravity: float def main(file: Path, gravity: float) -> None: pos, vel, rad = parse_csv(file) Animator(pos, vel, rad, gravity) if __name__ == "__main__": parser = ArgumentParser(description="Gravitation simulation") parser.add_argument("-f", "--file", type=Path, default="data/2d/simple.csv", help="The starting state of the simulation") parser.add_argument("-g", "--gravity", type=float, default=1., help="The strength of gravity") args = cast(Args, parser.parse_args()) main(args.file, args.gravity)