API
This page documents the enumeration and type definitions used throughout Tempo.
Hook States
tempo_core.data_structures.HookStateType
Bases: Enum
enum for the various hook states, used to fire off other functions at specific times, constant and init are not for use with the hook_state_decorator
CONSTANT
CONSTANT = 'constant'
INIT
INIT = 'init'
POST_ALL
POST_ALL = 'post_all'
POST_BUILD_UPROJECT
POST_BUILD_UPROJECT = 'post_uproject_build'
POST_CHANGES_UPLOAD
POST_CHANGES_UPLOAD = 'post_changes_upload'
POST_CLEANUP
POST_CLEANUP = 'post_cleanup'
POST_COOKING
POST_COOKING = 'post_cooking'
POST_ENGINE_CLOSE
POST_ENGINE_CLOSE = 'post_engine_close'
POST_ENGINE_OPEN
POST_ENGINE_OPEN = 'post_engine_open'
POST_GAME_CLOSE
POST_GAME_CLOSE = 'post_game_close'
POST_GAME_LAUNCH
POST_GAME_LAUNCH = 'post_game_launch'
POST_GENERATE_MOD
POST_GENERATE_MOD = 'post_generate_mod'
POST_GENERATE_MODS
POST_GENERATE_MODS = 'post_generate_mods'
POST_GENERATE_MOD_RELEASE
POST_GENERATE_MOD_RELEASE = 'post_generate_mod_release'
POST_GENERATE_MOD_RELEASES
POST_GENERATE_MOD_RELEASES = 'post_generate_mod_releases'
POST_INIT
POST_INIT = 'post_init'
POST_MODS_INSTALL
POST_MODS_INSTALL = 'post_mods_install'
POST_MODS_UNINSTALL
POST_MODS_UNINSTALL = 'post_mods_uninstall'
POST_PAK_DIR_SETUP
POST_PAK_DIR_SETUP = 'post_pak_dir_setup'
PRE_ALL
PRE_ALL = 'pre_all'
PRE_BUILD_UPROJECT
PRE_BUILD_UPROJECT = 'pre_uproject_build'
PRE_CHANGES_UPLOAD
PRE_CHANGES_UPLOAD = 'pre_changes_upload'
PRE_CLEANUP
PRE_CLEANUP = 'pre_cleanup'
PRE_COOKING
PRE_COOKING = 'pre_cooking'
PRE_ENGINE_CLOSE
PRE_ENGINE_CLOSE = 'pre_engine_close'
PRE_ENGINE_OPEN
PRE_ENGINE_OPEN = 'pre_engine_open'
PRE_GAME_CLOSE
PRE_GAME_CLOSE = 'pre_game_close'
PRE_GAME_LAUNCH
PRE_GAME_LAUNCH = 'pre_game_launch'
PRE_GENERATE_MOD
PRE_GENERATE_MOD = 'pre_generate_mod'
PRE_GENERATE_MODS
PRE_GENERATE_MODS = 'pre_generate_mods'
PRE_GENERATE_MOD_RELEASE
PRE_GENERATE_MOD_RELEASE = 'pre_generate_mod_release'
PRE_GENERATE_MOD_RELEASES
PRE_GENERATE_MOD_RELEASES = 'pre_generate_mod_releases'
PRE_INIT
PRE_INIT = 'pre_init'
PRE_MODS_INSTALL
PRE_MODS_INSTALL = 'pre_mods_install'
PRE_MODS_UNINSTALL
PRE_MODS_UNINSTALL = 'pre_mods_uninstall'
PRE_PAK_DIR_SETUP
PRE_PAK_DIR_SETUP = 'pre_pak_dir_setup'
Game & Execution
tempo_core.data_structures.PackingType
Bases: Enum
enum for how to treat packing mods
ENGINE
ENGINE = 'engine'
LOOSE
LOOSE = 'loose'
REPAK
REPAK = 'repak'
RETOC
RETOC = 'retoc'
UNREAL_PAK
UNREAL_PAK = 'unreal_pak'
tempo_core.data_structures.GameLaunchType
Bases: Enum
enum for how to launch the game
BATTLE_NET
BATTLE_NET = 'battle_net'
EPIC
EPIC = 'epic'
EXE
EXE = 'exe'
ITCH_IO
ITCH_IO = 'itch_io'
ORIGIN
ORIGIN = 'origin'
OTHER
OTHER = 'other'
STEAM
STEAM = 'steam'
UBISOFT
UBISOFT = 'ubisoft'
tempo_core.data_structures.ExecutionMode
Bases: Enum
enum for how to execute various processes
ASYNC
ASYNC = 'async'
SYNC
SYNC = 'sync'
Compression
tempo_core.data_structures.CompressionType
Bases: Enum
enum for the types of mod pak compression
GZIP
GZIP = 'Gzip'
LZ4
LZ4 = 'Lz4'
LZMA
LZMA = 'Lzma'
OODLE
OODLE = 'Oodle'
ZLIB
ZLIB = 'Zlib'
ZSTD
ZSTD = 'Zstd'
tempo_core.data_structures.OodleCompressionType
Bases: Enum
enum for the types of Oodle compression
KRAKEN
KRAKEN = 'Kraken'
LEVIATHAN
LEVIATHAN = 'Leviathan'
MERMAID
MERMAID = 'Mermaid'
SELKIE
SELKIE = 'Selkie'
tempo_core.data_structures.OodleCompressionLevel
Bases: IntEnum
enum for the types of Oodle compression levels
FAST
FAST = 3
HYPER_FAST_1
HYPER_FAST_1 = -1
HYPER_FAST_2
HYPER_FAST_2 = -2
HYPER_FAST_3
HYPER_FAST_3 = -3
HYPER_FAST_4
HYPER_FAST_4 = -4
NONE
NONE = 0
NORMAL
NORMAL = 4
OPTIMAL_1
OPTIMAL_1 = 5
OPTIMAL_2
OPTIMAL_2 = 6
OPTIMAL_3
OPTIMAL_3 = 7
OPTIMAL_4
OPTIMAL_4 = 8
OPTIMAL_5
OPTIMAL_5 = 9
SUPER_FAST
SUPER_FAST = 1
VERY_FAST
VERY_FAST = 2
tempo_core.programs.repak.RepakCompressionType
Bases: Enum
enum for the types of repak pack command compression
GZIP
GZIP = 'Gzip'
NONE
NONE = 'None'
OODLE
OODLE = 'Oodle'
ZLIB
ZLIB = 'Zlib'
ZSTD
ZSTD = 'Zstd'
Window Management
tempo_core.data_structures.WindowAction
Bases: Enum
enum for how to treat handling windows
CLOSE
CLOSE = 'close'
MAX
MAX = 'max'
MIN
MIN = 'min'
MOVE
MOVE = 'move'
NONE
NONE = 'none'
Unreal Engine
tempo_core.data_structures.UnrealHostTypes
Bases: Enum
enum for the unreal host types, for descriptor files
CLIENT_ONLY
CLIENT_ONLY = 'client_only'
CLIENT_ONLY_NO_COMMANDLET
CLIENT_ONLY_NO_COMMANDLET = 'client_only_no_commandlet'
COOKED_ONLY
COOKED_ONLY = 'cooked_only'
DEVELOPER
DEVELOPER = 'developer'
DEVELOPER_TOOL
DEVELOPER_TOOL = 'developer_tool'
EDITOR
EDITOR = 'editor'
EDITOR_AND_PROGRAM
EDITOR_AND_PROGRAM = 'editor_and_program'
EDITOR_NO_COMMANDLET
EDITOR_NO_COMMANDLET = 'editor_no_commandlet'
MAX
MAX = 'max'
PROGRAM
PROGRAM = 'program'
RUNTIME
RUNTIME = 'runtime'
RUNTIME_AND_PROGRAM
RUNTIME_AND_PROGRAM = 'runtime_and_program'
RUNTIME_NO_COMMANDLET
RUNTIME_NO_COMMANDLET = 'runtime_no_commandlet'
SERVER_ONLY
SERVER_ONLY = 'server_only'
UNCOOKED_ONLY
UNCOOKED_ONLY = 'uncooked_only'
tempo_core.data_structures.LoadingPhases
Bases: Enum
Enum for the loading phases, for descriptor files
DEFAULT
DEFAULT = 'default'
EARLIEST_POSSIBLE
EARLIEST_POSSIBLE = 'earliest_possible'
MAX
MAX = 'max'
NONE
NONE = 'none'
POST_CONFIG_INIT
POST_CONFIG_INIT = 'post_config_init'
POST_DEFAULT
POST_DEFAULT = 'post_default'
POST_ENGINE_INIT
POST_ENGINE_INIT = 'post_engine_init'
POST_SPLASH_SCREEN
POST_SPLASH_SCREEN = 'post_splash_screen'
PRE_DEFAULT
PRE_DEFAULT = 'pre_default'
PRE_EARLY_LOADING_SCREEN
PRE_EARLY_LOADING_SCREEN = 'pre_early_loading_screen'
PRE_LOADING_SCREEN
PRE_LOADING_SCREEN = 'pre_loading_screen'
tempo_core.data_structures.unreal_engine_build_targets
unreal_engine_build_targets = [
"Debug",
"DebugGame",
"Development",
"Shipping",
"Test",
"Unknown",
]
tempo_core.data_structures.unreal_engine_target_platforms
unreal_engine_target_platforms = [
"AllDesktop",
"Android",
"Android_ASTC",
"Android_DXT",
"Android_ETC2",
"AndroidClient",
"Android_ASTCClient",
"Android_DXTClient",
"Android_ETC2Client",
"Android_Multi",
"Android_MultiClient",
"IOSClient",
"IOS",
"Linux",
"LinuxNoEditor",
"LinuxClient",
"LinuxServer",
"LinuxAArch64NoEditor",
"LinuxAArch64Client",
"LinuxAArch64Server",
"Lumin",
"LuminClient",
"MacNoEditor",
"Mac",
"MacClient",
"MacServer",
"TVOSClient",
"TVOS",
"WindowsNoEditor",
"Windows",
"WindowsClient",
"WindowsServer",
]
tempo_core.data_structures.unreal_iostore_file_extensions
unreal_iostore_file_extensions = [
"umap",
"uexp",
"uptnl",
"ubulk",
"uasset",
"ushaderbytecode",
]
Signatures
tempo_core.data_structures.SigMethodType
Bases: Enum
Enum for the way to provide a sig when creating a mod release
COPY
COPY = 'copy'
EMPTY
EMPTY = 'empty'
NONE
NONE = 'none'