src.simulations package

Submodules

src.simulations.simulate_data module

Simulate weight-training data.

src.simulations.simulate_data.get_dates(number_of_workouts: int, start: datetime, periods: int) list[str][source]

Get list of dates.

Parameters:
  • number_of_workouts (int) – Number of workouts to simulate

  • start (datetime) – Start date for generating dates

  • periods (int) – Periods to generate

Returns:

List of dates

Return type:

list[str]

src.simulations.simulate_data.simulate_data() None[source]

Simulate specified number of workouts and insert their data into JSON files.

src.simulations.simulate_people module

Generate fictitious people.

src.simulations.workout_simulator module

Simulate weight training workouts.

class src.simulations.workout_simulator.DataFormatter[source]

Bases: ABC

Abstract base class for formatting data.

abstractmethod format_data() dict[source]
abstractmethod write_data() None[source]
class src.simulations.workout_simulator.ExerciseRepository(training_catalogue: str)[source]

Bases: object

Handles the loading of exercises from a YAML file.

get_exercises(split: str) list[dict[str, list[int]]][source]
class src.simulations.workout_simulator.ExerciseSelector(repository: ExerciseRepository, split: str = <factory>)[source]

Bases: object

Selects random exercises from the repository.

exercises: list
repository: ExerciseRepository
select_random_exercises() list[dict[str, list[int]]][source]
split: str
class src.simulations.workout_simulator.JSONWorkoutFormatter(workout_date: str, output_dir: str, data: dict, split: str)[source]

Bases: DataFormatter

Writes workout data to a JSON file.

format_data() dict[source]
write_data()[source]
class src.simulations.workout_simulator.WorkoutSimulator(exercises: list, progress: int)[source]

Bases: object

Simulates a workout based on selected exercises.

generate_exercise_mapping() dict[source]
simulate_workout_data() dict[str, list[dict[str, str | int]]][source]
src.simulations.workout_simulator.main() None[source]

Simulate a workout and write the data to a JSON file.

Module contents