Creating HookSpecs¶
In order to inform to HookMan
which Hooks are available in your application, it’s necessary to create a HookSpecs object.
from hookman.hooks import HookSpecs
def env_temperature(arg1: 'float', arg2: 'float') -> 'float':
"""
Docs for Environment Temperature
"""
specs = HookSpecs(
project_name='Acme',
version='1',
pyd_name='_alfasim_hooks',
hooks=[
env_temperature,
]
)
This object has the following fields:
- Project Name:
An display name to be used to identify the project and to name the hook functions.
- Version:
Current version of the spec, when a new hook is created or modified this version should be incremented
- pyd_name:
Name of the module exported by
PyBind11
onHookCallerPython.cpp
file.
- Hooks:
A list with the hooks available for the project, each hook is represented by a python function.
The field hooks should be a list of Python functions, with the following fields filled:
Function Name: The name of hook.
Arguments: The arguments that the Hooks will receive.
Type Hints: The type of argument type.
Doc String: The docummentation of the Hook.
Noticed that all the fields are necessary in order to create the HookSpecs object,
if any of the fiels are not correctly informed a TypeError
exception will be raised