@@ -34,18 +34,25 @@ def get_extras_from_wheel(wheel_path: str) -> List[str]:
3434 return extras
3535
3636
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 ]:
3838 """Generate all possible combinations of extras.
3939
4040 Args:
4141 extras: List of extra names to generate combinations from.
42+ exclude: Optional list of extra names to exclude from combinations.
4243
4344 Returns:
4445 List of comma-separated strings representing each combination of extras.
4546 """
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+
4653 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 ))
4956 return all_combinations
5057
5158
@@ -100,7 +107,7 @@ def main():
100107
101108 # Get all extras from the wheel
102109 extras = get_extras_from_wheel (str (wheel_file ))
103- combinations = get_extra_combinations (extras )
110+ combinations = get_extra_combinations (extras , [ "development" , "docs" ] )
104111
105112 # Test base installation first
106113 test_install (
0 commit comments