academia.utils module
Submodules
Module contents
Miscellaneous classes and functions that don’t belong anywhere else or are used by multiple modules.
The idea behind academia.utils
is that other modules depend on it, but it itself does not depend on
any other module. That is different to academia.tools
which works the other way around.
Exported classes:
- class academia.utils.SavableLoadable
Bases:
ABC
An interface for classes which instances can be saved or loaded.
- static get_type(type_name_full: str) Type
- Parameters:
type_name_full – type’s import name (e.g. “academia.agents.SarsaAgent”)
- Returns:
A type based on its full name (e.g.
academia.agents.SarsaAgent
).
- static get_type_name_full(type_: Type) str
- Returns:
A full type name (e.g. “academia.agents.SarsaAgent”).
- abstract classmethod load(path: str)
Loads an object.
- Returns:
A loaded object.
- abstract save(path: str) str
Saves an object.
- Returns:
An absolute path where the object was saved.
- class academia.utils.Stopwatch(start=True)
Bases:
object
A utility class for measuring and storing consecutive CPU/wall times. All times are stored in seconds.
- Parameters:
start – whether or not to start a stopwatch immidiately after initializing it.
- property cpu_lap_times: list[float]
A list of all stored CPU lap times (excluding the current lap)
- property is_running: bool
Whether or not the stopwatch is currently running
- lap() tuple[float, float]
Ends the current lap and starts a new one.
- Returns:
Wall and CPU times of the lap that was ended.
- Raises:
RuntimeError – if stopwatch is not running
- peek_lap_time() tuple[float, float]
Checks the current lap time without ending the lap.
- Returns:
Current wall and CPU lap times.
- Raises:
RuntimeError – if stopwatch is not running
- peek_time() tuple[float, float]
Check the current total time without stopping the stopwatch.
- Returns:
Current wall and CPU times since the start.
- Raises:
RuntimeError – if stopwatch is not running
- start() None
Starts or restarts the stopwatch
- stop(lap=False) tuple[float, float]
Stops the stopwatch.
- Parameters:
lap – whether or not end and save the final lap.
- Returns:
Wall and CPU total times since the stopwatch was started.
- Raises:
RuntimeError – if stopwatch is not running
- property wall_lap_times: list[float]
A list of all stored wall lap times (excluding the current lap)