Coverage for o2/actions/base_actions/batching_rule_base_action.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-05-16 11:18 +0000

1from abc import ABC 

2from dataclasses import dataclass 

3from typing import Optional 

4 

5from typing_extensions import Required 

6 

7from o2.actions.base_actions.base_action import BaseAction, BaseActionParamsType 

8from o2.models.rule_selector import RuleSelector 

9 

10 

11class BatchingRuleBaseActionParamsType(BaseActionParamsType): 

12 """Base type for all action parameters.""" 

13 

14 rule: Required[RuleSelector] 

15 duration_fn: Optional[str] 

16 

17 

18@dataclass(frozen=True) 

19class BatchingRuleBaseAction(BaseAction, ABC, str=False): 

20 """Abstract class for all actions.""" 

21 

22 params: BaseActionParamsType