Args

Module for command-line argument parsing and validation.
- module:
args
- author:
Le Bars, Yoann
- class src.args.CmdLineArgs(**kwargs)[source]
Bases:
NamespaceHolds and parses command-line arguments.
- Variables:
n_iter (int) – Number of iterations.
n_bodies (int) – Number of bodies.
dens (float) – Objects density.
dt (float) – Model time step (in s).
universal_g (float) – Universal gravity constant (in m³/kg/s²).
epsilon (float) – Computing precision.
seed (int) – Seed for random number generation.
debug_console (bool) – Whether to enable logs through the standard output.
debug_file (str | None) – File path for logging.
debug_syslog (str | None) – Identifier for syslog logging.
log_level (LogLevel) – Log level filter.
- debug_console: bool = False
- debug_file: str | None = None
- debug_syslog: str | None = None
- dens: float = 0.1
- dt: float = 0.5
- epsilon: float = 1e-06
- n_bodies: int = 20
- n_iter: int = 500
- classmethod parse(app: <MagicMock name='mock.QApplication' id='140278376780128'>, args: list[str] | None = None) CmdLineArgs[source]
Parses and validates command-line arguments.
- Parameters:
app (QApplication) – The application instance for translations.
args (list[str] | None) – Command-line arguments to parse. Defaults to sys.argv[1:].
- Returns:
An instance of CmdLineArgs.
- Return type:
- seed: int = 0
- universal_g: float = 6.6743e-11
- exception src.args.CmdLineValidationError(message: str, code: ExitCode)[source]
Bases:
ExceptionException for command line validation errors.
- class src.args.ExitCode(*values)[source]
Bases:
IntEnumExit codes for the application.
- CMD_LINE_ERROR = -1
- MISSING_ABOUT_FILE = -2
- NEGATIVE_DENSITY = -5
- NEGATIVE_EPSILON = -8
- NEGATIVE_GRAVITY = -7
- NEGATIVE_SEED = -9
- NEGATIVE_TIME_STEP = -6
- NOT_ENOUGH_BODIES = -4
- NOT_ENOUGH_ITERATIONS = -3
- SUCCESS = 0
- UNKNOWN_EXCEPTION = -11