@@ -34,18 +34,25 @@ def get_extras_from_wheel(wheel_path: str) -> List[str]:
34
34
return extras
35
35
36
36
37
- def get_extra_combinations (extras : List [str ]) -> List [str ]:
37
+ def get_extra_combinations (extras : List [str ], exclude : Optional [ List [ str ]] = None ) -> List [str ]:
38
38
"""Generate all possible combinations of extras.
39
39
40
40
Args:
41
41
extras: List of extra names to generate combinations from.
42
+ exclude: Optional list of extra names to exclude from combinations.
42
43
43
44
Returns:
44
45
List of comma-separated strings representing each combination of extras.
45
46
"""
47
+ # Filter out excluded extras
48
+ if exclude :
49
+ filtered_extras = [extra for extra in extras if extra not in exclude ]
50
+ else :
51
+ filtered_extras = extras
52
+
46
53
all_combinations = []
47
- for r in range (len (extras ) + 1 ):
48
- all_combinations .extend ("," .join (c ) for c in combinations (extras , r ))
54
+ for r in range (len (filtered_extras ) + 1 ):
55
+ all_combinations .extend ("," .join (c ) for c in combinations (filtered_extras , r ))
49
56
return all_combinations
50
57
51
58
@@ -100,7 +107,7 @@ def main():
100
107
101
108
# Get all extras from the wheel
102
109
extras = get_extras_from_wheel (str (wheel_file ))
103
- combinations = get_extra_combinations (extras )
110
+ combinations = get_extra_combinations (extras , [ "development" , "docs" ] )
104
111
105
112
# Test base installation first
106
113
test_install (
0 commit comments