uf.history#
Call history and presets for uf.
Provides functionality to track function calls, save parameter presets, and reuse previous calls for improved user experience.
Functions
|
Decorator to enable call history for a function. |
Get the global history manager. |
Classes
|
Manage history of function calls. |
|
Record of a single function call. |
|
Combined manager for history and presets. |
|
A saved parameter preset for a function. |
Manage parameter presets for functions. |
- class uf.history.CallHistory(max_size=100)[source]#
Bases:
objectManage history of function calls.
Example
>>> history = CallHistory(max_size=100) >>> history.record('add', {'x': 10, 'y': 20}, result=30) >>> recent = history.get_recent('add', limit=5)
- classmethod from_dict(data, max_size=100)[source]#
Create from dictionary.
- Parameters:
- Return type:
- Returns:
CallHistory instance
- get_recent(func_name, limit=10)[source]#
Get recent calls for a function.
- Parameters:
- Return type:
- Returns:
List of recent FunctionCall objects (newest first)
- get_successful_calls(func_name, limit=10)[source]#
Get recent successful calls.
- Parameters:
- Return type:
- Returns:
List of successful FunctionCall objects
- class uf.history.FunctionCall(func_name, params, result=None, success=True, error=None)[source]#
Bases:
objectRecord of a single function call.
- func_name#
Name of the function
- params#
Parameters used
- result#
Result returned (if captured)
- timestamp#
When the call was made
- success#
Whether the call succeeded
- error#
Error message if failed
- class uf.history.HistoryManager(max_history=100)[source]#
Bases:
objectCombined manager for history and presets.
Provides a unified interface for tracking calls and managing presets.
Example
>>> manager = HistoryManager() >>> manager.record_call('add', {'x': 10, 'y': 20}, result=30) >>> manager.save_preset('quick', 'add', {'x': 10, 'y': 20}) >>> recent = manager.get_recent_calls('add') >>> presets = manager.get_presets('add')
- get_recent_calls(func_name, limit=10)[source]#
Get recent calls.
- Parameters:
- Return type:
- Returns:
List of recent FunctionCall objects
- classmethod load_from_file(filepath, max_history=100)[source]#
Load from file.
- Parameters:
- Return type:
- Returns:
HistoryManager instance
- record_call(func_name, params, result=None, success=True, error=None)[source]#
Record a function call.
- class uf.history.Preset(name, func_name, params, description='')[source]#
Bases:
objectA saved parameter preset for a function.
- name#
Preset name
- func_name#
Function this preset is for
- params#
Parameter values
- description#
Optional description
- created_at#
When preset was created
- class uf.history.PresetManager[source]#
Bases:
objectManage parameter presets for functions.
Example
>>> presets = PresetManager() >>> presets.save('quick_add', 'add', {'x': 10, 'y': 20}, 'Quick test') >>> preset = presets.get('quick_add', 'add') >>> result = my_func(**preset.params)
- classmethod from_dict(data)[source]#
Create from dictionary.
- Parameters:
data (
dict) – Dictionary with preset data- Return type:
- Returns:
PresetManager instance
- uf.history.enable_history(func, max_size=100)[source]#
Decorator to enable call history for a function.
Example
>>> @enable_history ... def my_function(x: int): ... return x * 2