Skip to content

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'