spforge 0.8.39__py3-none-any.whl → 0.8.40__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of spforge might be problematic. Click here for more details.

@@ -161,9 +161,6 @@ def get_default_player_rating_search_space() -> dict[str, ParamSpec]:
161
161
  low=50.0,
162
162
  high=300.0,
163
163
  ),
164
- "use_off_def_split": ParamSpec(
165
- param_type="bool",
166
- ),
167
164
  "start_league_quantile": ParamSpec(
168
165
  param_type="float",
169
166
  low=0.05,
@@ -251,9 +248,6 @@ def get_default_team_rating_search_space() -> dict[str, ParamSpec]:
251
248
  low=50.0,
252
249
  high=300.0,
253
250
  ),
254
- "use_off_def_split": ParamSpec(
255
- param_type="bool",
256
- ),
257
251
  }
258
252
 
259
253
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spforge
3
- Version: 0.8.39
3
+ Version: 0.8.40
4
4
  Summary: A flexible framework for generating features, ratings, and building machine learning or other models for training and inference on sports data.
5
5
  Author-email: Mathias Holmstrøm <mathiasholmstom@gmail.com>
6
6
  License: See LICENSE file
@@ -44,7 +44,7 @@ spforge/feature_generator/_rolling_mean_days.py,sha256=EZQmFmYVQB-JjZV5k8bOWnaTx
44
44
  spforge/feature_generator/_rolling_window.py,sha256=HT8LezsRIPNAlMEoP9oTPW2bKFu55ZSRnQZGST7fncw,8836
45
45
  spforge/feature_generator/_utils.py,sha256=KDn33ia1OYJTK8THFpvc_uRiH_Bl3fImGqqbfzs0YA4,9654
46
46
  spforge/hyperparameter_tuning/__init__.py,sha256=Vcl8rVlJ7M708iPgqe4XxpZWgJKGux0Y5HgMCymRsHg,1099
47
- spforge/hyperparameter_tuning/_default_search_spaces.py,sha256=SjwXLpvYIu_JY8uPRHeL5Kgp1aa0slWDz8qsKDaohWQ,8020
47
+ spforge/hyperparameter_tuning/_default_search_spaces.py,sha256=yqXuLyABtKGrnm2ydTgGAdS-tDxjWZOlJQWIrZYY0h4,7856
48
48
  spforge/hyperparameter_tuning/_tuner.py,sha256=M79q3saM6r0UZJsRUUgfdDr-3Qii-F2-wuSAZLFtZDo,19246
49
49
  spforge/performance_transformers/__init__.py,sha256=J-5olqi1M_BUj3sN1NqAz9s28XAbuKK9M9xHq7IGlQU,482
50
50
  spforge/performance_transformers/_performance_manager.py,sha256=lh7enqYLd1lXj1VTOiK5N880xkil5q1jRsM51fe_K5g,12322
@@ -71,8 +71,8 @@ spforge/transformers/_other_transformer.py,sha256=w2a7Wnki3vJe4GAkSa4kealw0GILIo
71
71
  spforge/transformers/_predictor.py,sha256=2sE6gfVrilXzPVcBurSrtqHw33v2ljygQcEYXt9LhZc,3119
72
72
  spforge/transformers/_simple_transformer.py,sha256=zGUFNQYMeoDSa2CoQejQNiNmKCBN5amWTvyOchiUHj0,5660
73
73
  spforge/transformers/_team_ratio_predictor.py,sha256=g8_bR53Yyv0iNCtol1O9bgJSeZcIco_AfbQuUxQJkeY,6884
74
- spforge-0.8.39.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
75
- tests/test_autopipeline.py,sha256=7cNAn-nmGolfyfk3THh9IKcHZfRA-pLYC_xAyMg-No4,26863
74
+ spforge-0.8.40.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
75
+ tests/test_autopipeline.py,sha256=gXFcyqRJwxd70MY1JOqm78RJjF-fnFdMT_FaDhBdEDE,26853
76
76
  tests/test_autopipeline_context.py,sha256=IuRUY4IA6uMObvbl2pXSaXO2_tl3qX6wEbTZY0dkTMI,1240
77
77
  tests/test_feature_generator_pipeline.py,sha256=CK0zVL8PfTncy3RmG9i-YpgwjOIV7yJhV7Q44tbetI8,19020
78
78
  tests/cross_validator/test_cross_validator.py,sha256=itCGhNY8-NbDbKbhxHW20wiLuRst7-Rixpmi3FSKQtA,17474
@@ -99,7 +99,7 @@ tests/ratings/test_player_rating_no_mutation.py,sha256=GzO3Hl__5K68DS3uRLefwnbcT
99
99
  tests/ratings/test_ratings_property.py,sha256=ckyfGILXa4tfQvsgyXEzBDNr2DUmHwFRV13N60w66iE,6561
100
100
  tests/ratings/test_team_rating_generator.py,sha256=SqQcfckNmJJc99feCdnmkNYDape-p69e92Dp8Vzpu2w,101156
101
101
  tests/ratings/test_utils_scaled_weights.py,sha256=iHxe6ZDUB_I2B6HT0xTGqXBkl7gRlqVV0e_7Lwun5po,4988
102
- tests/scorer/test_score.py,sha256=rw3xJs6xqWVpalVMUQz557m2JYGR7PmhrsjfTex0b0c,79121
102
+ tests/scorer/test_score.py,sha256=7QwGR9r6n2NI4uAr8BlEymGxRPci6Kf-TyFmnbQeajQ,79013
103
103
  tests/scorer/test_score_aggregation_granularity.py,sha256=O5TRlG9UE4NBpF0tL_ywZKDmkMIorwrxgTegQ75Tr7A,15871
104
104
  tests/scorer/test_scorer_name.py,sha256=lijr8vuHkieVmu_m3zcZril7rG5ByIZ-vSJq5QJFIss,10862
105
105
  tests/transformers/test_estimator_transformer_context.py,sha256=5GOHbuWCWBMFwwOTJOuD4oNDsv-qDR0OxNZYGGuMdag,1819
@@ -107,8 +107,8 @@ tests/transformers/test_net_over_predicted.py,sha256=vh7O1iRRPf4vcW9aLhOMAOyatfM
107
107
  tests/transformers/test_other_transformer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
108
  tests/transformers/test_predictor_transformer.py,sha256=N1aBYLjN3ldpYZLwjih_gTFYSMitrZu-PNK78W6RHaQ,6877
109
109
  tests/transformers/test_simple_transformer.py,sha256=wWR0qjLb_uS4HXrJgGdiqugOY1X7kwd1_OPS02IT2b8,4676
110
- tests/transformers/test_team_ratio_predictor.py,sha256=fOUP_JvNJi-3kom3ZOs1EdG0I6Z8hpLpYKNHu1eWtOw,8562
111
- spforge-0.8.39.dist-info/METADATA,sha256=njbTQ33nwPOZ71PhHQDxUWZzP4MjSavx8sT-JgK2fio,20048
112
- spforge-0.8.39.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
113
- spforge-0.8.39.dist-info/top_level.txt,sha256=6UW2M5a7WKOeaAi900qQmRKNj5-HZzE8-eUD9Y9LTq0,23
114
- spforge-0.8.39.dist-info/RECORD,,
110
+ tests/transformers/test_team_ratio_predictor.py,sha256=WA44T2HU2Tx65HO_EZaLB5ujjlxfv5uTZazh_3Mo8Zg,8463
111
+ spforge-0.8.40.dist-info/METADATA,sha256=Ff7TuqGXMnLJ3WSfHbhPIkx7ZFrpICfoCTgpzfDTIL4,20048
112
+ spforge-0.8.40.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
113
+ spforge-0.8.40.dist-info/top_level.txt,sha256=6UW2M5a7WKOeaAi900qQmRKNj5-HZzE8-eUD9Y9LTq0,23
114
+ spforge-0.8.40.dist-info/RECORD,,
@@ -66,7 +66,7 @@ def test_apply_filters_greater_than(df_type):
66
66
  filters = [Filter(column_name="col1", value=2, operator=Operator.GREATER_THAN)]
67
67
  result = apply_filters(df, filters)
68
68
  assert len(result) == 2
69
- assert all(x > 2 for x in result["col1"].to_list())
69
+ assert (result["col1"] > 2).all()
70
70
 
71
71
 
72
72
  @pytest.mark.parametrize("df_type", [pl.DataFrame, pd.DataFrame])
@@ -76,7 +76,7 @@ def test_apply_filters_less_than(df_type):
76
76
  filters = [Filter(column_name="col1", value=3, operator=Operator.LESS_THAN)]
77
77
  result = apply_filters(df, filters)
78
78
  assert len(result) == 2
79
- assert all(x < 3 for x in result["col1"].to_list())
79
+ assert (result["col1"] < 3).all()
80
80
 
81
81
 
82
82
  @pytest.mark.parametrize("df_type", [pl.DataFrame, pd.DataFrame])
@@ -86,7 +86,7 @@ def test_apply_filters_greater_than_or_equals(df_type):
86
86
  filters = [Filter(column_name="col1", value=2, operator=Operator.GREATER_THAN_OR_EQUALS)]
87
87
  result = apply_filters(df, filters)
88
88
  assert len(result) == 3
89
- assert all(x >= 2 for x in result["col1"].to_list())
89
+ assert (result["col1"] >= 2).all()
90
90
 
91
91
 
92
92
  @pytest.mark.parametrize("df_type", [pl.DataFrame, pd.DataFrame])
@@ -96,7 +96,7 @@ def test_apply_filters_less_than_or_equals(df_type):
96
96
  filters = [Filter(column_name="col1", value=3, operator=Operator.LESS_THAN_OR_EQUALS)]
97
97
  result = apply_filters(df, filters)
98
98
  assert len(result) == 3
99
- assert all(x <= 3 for x in result["col1"].to_list())
99
+ assert (result["col1"] <= 3).all()
100
100
 
101
101
 
102
102
  @pytest.mark.parametrize("df_type", [pl.DataFrame, pd.DataFrame])
@@ -129,8 +129,8 @@ def test_apply_filters_multiple_filters(df_type):
129
129
  ]
130
130
  result = apply_filters(df, filters)
131
131
  assert len(result) == 2
132
- assert all(x > 2 for x in result["col1"].to_list())
133
- assert all(x == "A" for x in result["col2"].to_list())
132
+ assert (result["col1"] > 2).all()
133
+ assert (result["col2"] == "A").all()
134
134
 
135
135
 
136
136
  @pytest.mark.parametrize("df_type", [pl.DataFrame, pd.DataFrame])
@@ -809,7 +809,7 @@ def test_granularity_aggregation_weight__weighted_mean_correct(frame):
809
809
  transformed = reducer.fit_transform(df)
810
810
 
811
811
  if frame == "pl":
812
- num1_val = transformed["num1"].to_list()[0]
812
+ num1_val = transformed["num1"].item(0)
813
813
  else:
814
814
  num1_val = transformed["num1"].iloc[0]
815
815
 
@@ -875,7 +875,7 @@ def test_aggregation_weight_sums_weight_column(frame):
875
875
  transformed = reducer.fit_transform(df)
876
876
 
877
877
  if frame == "pl":
878
- weight_val = transformed["weight"].to_list()[0]
878
+ weight_val = transformed["weight"].item(0)
879
879
  else:
880
880
  weight_val = transformed["weight"].iloc[0]
881
881
 
@@ -163,8 +163,7 @@ def test_predict_row_false_uses_existing_row_prediction_column(df_factory):
163
163
 
164
164
  assert list(out.columns) == ["ratio", "row_pred"]
165
165
  ratio = out["ratio"] if isinstance(out, pd.DataFrame) else out.get_column("ratio")
166
- ratio_values = ratio.to_list() if hasattr(ratio, "to_list") else ratio.tolist()
167
- assert all(v == 1.0 for v in ratio_values)
166
+ assert (ratio == 1.0).all()
168
167
 
169
168
 
170
169
  @pytest.mark.parametrize("df_factory", [pd.DataFrame, pl.DataFrame])