scikit-survival 0.26.0__cp311-cp311-macosx_10_13_x86_64.whl → 0.27.0__cp311-cp311-macosx_10_13_x86_64.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scikit-survival
3
- Version: 0.26.0
3
+ Version: 0.27.0
4
4
  Summary: Survival analysis built on top of scikit-learn
5
5
  Author-email: Sebastian Pölsterl <sebp@k-d-w.org>
6
6
  License-Expression: GPL-3.0-or-later
@@ -31,16 +31,16 @@ License-File: COPYING
31
31
  Requires-Dist: ecos
32
32
  Requires-Dist: joblib
33
33
  Requires-Dist: numexpr
34
- Requires-Dist: numpy
34
+ Requires-Dist: numpy>=2.0.0
35
35
  Requires-Dist: osqp>=1.0.2
36
- Requires-Dist: pandas>=2.0.0
37
- Requires-Dist: scipy>=1.3.2
38
- Requires-Dist: scikit-learn<1.8,>=1.6.1
36
+ Requires-Dist: pandas>=2.2.0
37
+ Requires-Dist: scipy>=1.13.0
38
+ Requires-Dist: scikit-learn<1.9,>=1.8.0
39
39
  Dynamic: license-file
40
40
 
41
41
  |License| |Docs| |DOI|
42
42
 
43
- |build-tests| |build-windows| |Codecov| |Codacy|
43
+ |build-tests| |Codecov| |Codacy|
44
44
 
45
45
  ***************
46
46
  scikit-survival
@@ -76,10 +76,10 @@ Requirements
76
76
  - ecos
77
77
  - joblib
78
78
  - numexpr
79
- - numpy
79
+ - numpy 2.0.0 or later
80
80
  - osqp
81
- - pandas 2.0.0 or later
82
- - scikit-learn 1.6 or 1.7
81
+ - pandas 2.2.0 or later
82
+ - scikit-learn 1.8
83
83
  - scipy
84
84
  - C/C++ compiler
85
85
 
@@ -178,8 +178,4 @@ Please cite the following paper if you are using **scikit-survival**.
178
178
  :target: https://github.com/sebp/scikit-survival/actions?query=workflow%3Atests+branch%3Amaster
179
179
  :alt: GitHub Actions Tests Status
180
180
 
181
- .. |build-windows| image:: https://ci.appveyor.com/api/projects/status/github/sebp/scikit-survival?branch=master&svg=true
182
- :target: https://ci.appveyor.com/project/sebp/scikit-survival
183
- :alt: Windows Build Status on AppVeyor
184
-
185
181
  .. _survival analysis: https://en.wikipedia.org/wiki/Survival_analysis
@@ -1,33 +1,33 @@
1
- scikit_survival-0.26.0.dist-info/RECORD,,
2
- scikit_survival-0.26.0.dist-info/WHEEL,sha256=yoGyruR5luWhmkaGvb6F6SKVgx5My2KED1c4tyM2fXM,138
3
- scikit_survival-0.26.0.dist-info/top_level.txt,sha256=fPkcFA-XQGbwnD_ZXOvaOWmSd34Qezr26Mn99nYPvAg,7
4
- scikit_survival-0.26.0.dist-info/METADATA,sha256=vAt2W61HBUXRJsF8i5dfZzXmuSaF5xn5aIswUbue1LE,7180
5
- scikit_survival-0.26.0.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
1
+ scikit_survival-0.27.0.dist-info/RECORD,,
2
+ scikit_survival-0.27.0.dist-info/WHEEL,sha256=RDuwBvahcjkfIgBIU2eDck6a2e_vDYHjyKNLxkUkoeU,139
3
+ scikit_survival-0.27.0.dist-info/top_level.txt,sha256=fPkcFA-XQGbwnD_ZXOvaOWmSd34Qezr26Mn99nYPvAg,7
4
+ scikit_survival-0.27.0.dist-info/METADATA,sha256=dPPT8BmqDfq_N5pEWc2GPDgGr16wgXY5cvTt-BcxZjE,6950
5
+ scikit_survival-0.27.0.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
6
6
  sksurv/functions.py,sha256=e0jVqnEtyHoI7qjn18gHD2oRTCoOOA3i6p90tDgMWKs,3898
7
- sksurv/metrics.py,sha256=C8vWJEQ1CysbaG4KRnQA7cHOttDZsLGNAaL1DSVgccI,41241
7
+ sksurv/metrics.py,sha256=a75hixN4WZm8vlNmn61dksLdRVEQUEKg1htbDrIa7JU,41249
8
8
  sksurv/nonparametric.py,sha256=Bhvtr_j3gozbcnMcXJ_55BbfAEua-n4-hzTiVtBYt6M,31748
9
9
  sksurv/util.py,sha256=1zX5DcUCw-9oM2uwMPrC5C736g3VsmxgL_w5piTuBew,15809
10
10
  sksurv/__init__.py,sha256=eRitrwFtAUadhvZtcasgO443RRMaPTmJHCph3dWkHSg,5153
11
11
  sksurv/docstrings.py,sha256=PJTe7sts8j6x3Gck_18buulAr2HIMOF6GnWDtrLQtIw,3301
12
12
  sksurv/preprocessing.py,sha256=proeFKkPiyx4UDCwEnaOo0jLUTqA3jbnSP28R2izbPw,6974
13
13
  sksurv/exceptions.py,sha256=CRun7zrKzcZ9zinni5b2cMaV-pU-pw1UnXpRV2h3z_4,801
14
- sksurv/testing.py,sha256=l2jWKYxBzQcHhax7x1i_tfbAVuaq7J9yqqOLCj8qdMQ,5788
14
+ sksurv/testing.py,sha256=qyhAvOz_Q3lQ6D7hMUuqy-CbpjpwkXwmb1l8mlpoCk4,6097
15
15
  sksurv/compare.py,sha256=RCfPU-EhM1C_8BMhNV5eb34ZrTZX6ODkB6KxTHQh-6E,4420
16
16
  sksurv/base.py,sha256=JGjekQGBRQdwS6AlI6uuNowT3KOpgBHCzxJGq6dsgew,4373
17
17
  sksurv/column.py,sha256=ptWBSh2llhSPeGOxxmoAYhlI2KXXRJjJEZO9K9-eZXQ,6869
18
18
  sksurv/tree/tree.py,sha256=uvCcwIGVqx2x39ycIsLtJSKWBhty37uDKr85zQOBR9U,31992
19
19
  sksurv/tree/__init__.py,sha256=7RUjPZtGrVYiHY4roDXdEDM7RVBSsbY_CXWmyqZk2ts,64
20
- sksurv/tree/_criterion.cpython-311-darwin.so,sha256=wCdheIhvCFMLWylA1pGp0dUk6Rqv_OGEAf2i_x3JtjY,212704
21
- sksurv/ensemble/_coxph_loss.cpython-311-darwin.so,sha256=0cn1uvkDqXk4N69Z9NG6Uw8iXSOz5dpx5_ElhcDh0Bw,181456
20
+ sksurv/tree/_criterion.cpython-311-darwin.so,sha256=z87Z2_tVuSnlt9LA_x3mZ2emKd2Is_mZz9nMZkZ9iLg,213792
21
+ sksurv/ensemble/_coxph_loss.cpython-311-darwin.so,sha256=vR7CcvcTcD6JZzxEDjTasr4iPBbNpklQnrXPaMJ_AQs,181456
22
22
  sksurv/ensemble/boosting.py,sha256=zLsJdjgPuEunYzPy-xlsmdNAI2U97YnX6aWN3ksFIrM,61572
23
23
  sksurv/ensemble/__init__.py,sha256=7kZAzxFpJGtgLQfhoOqZUyGUubIs_Kw3RgyUsAd1Fq0,191
24
24
  sksurv/ensemble/survival_loss.py,sha256=mhIbuOqz7t-nuygswZD0d0are2R0EQ3d3yHMRdxOKIk,5942
25
25
  sksurv/ensemble/forest.py,sha256=zAo-Txbqc5GjnbfI5fJCUfUHG2NFdFS6dDQhADrBnuM,35268
26
26
  sksurv/kernels/clinical.py,sha256=oNIXgBIivmgjM927qNpspfI3HivC_ORqFvdsTb_NHTA,11452
27
27
  sksurv/kernels/__init__.py,sha256=_aZIFutv7kUTlkHJlP52zBDkpUXnKIlPPf3cikuAmCA,77
28
- sksurv/kernels/_clinical_kernel.cpython-311-darwin.so,sha256=Ll5PVKFZaBy9TrB0J8Gc2VZdFdixsjVc_wgxglpDqOg,192624
28
+ sksurv/kernels/_clinical_kernel.cpython-311-darwin.so,sha256=44pt2uZ3dSbxyWNNsmMw6na53-kxvxyxDz_Lg04WuZ8,192624
29
29
  sksurv/bintrees/__init__.py,sha256=l6Fe4PAMByrABpGzZ5W8KHieEYG-rh-DADo2QiEMLrU,727
30
- sksurv/bintrees/_binarytrees.cpython-311-darwin.so,sha256=PWTAl3vNO5xWDqLcl3EwiW3we9JpPBba5f6Tijj-6yY,89368
30
+ sksurv/bintrees/_binarytrees.cpython-311-darwin.so,sha256=c7o2ECeaKolZXlHHcezH2NrXXNwxGCqJsXLQEhDr7N0,89368
31
31
  sksurv/datasets/__init__.py,sha256=EPzJ50wd-cZ6mWuHFPRRRMqgt14WzM32HGxDrlOp9Q4,361
32
32
  sksurv/datasets/base.py,sha256=C9fnZJXLBTw1mvzc7GqGB4LdS6_8pQqPIAzKBo5jDpM,25622
33
33
  sksurv/datasets/data/cgvhd.arff,sha256=0lxUqY74JaMpC_vWJC4RWJy6vTmQwCg1yrUxjX65VX8,5214
@@ -38,7 +38,7 @@ sksurv/datasets/data/breast_cancer_GSE7390-metastasis.arff,sha256=Iz9MHAay7imf_8
38
38
  sksurv/datasets/data/flchain.arff,sha256=vyYA7EN90ZBx9zva2C3mgXgEV9EUHsNu1VGwAm5uV3M,343058
39
39
  sksurv/datasets/data/whas500.arff,sha256=9kBAyROYh1E3gi7KMGqScgjfaJaAjNl2SvcGVyL6U9Y,27772
40
40
  sksurv/datasets/data/veteran.arff,sha256=cdvJ4jXzzC7RCzolTjn5hcCSNG0chFc27SGxP74mNFY,5260
41
- sksurv/io/arffwrite.py,sha256=g7rVB3cuFwatFySle0AUhfB4oe3uW7KUsVMxjyGPur8,5435
41
+ sksurv/io/arffwrite.py,sha256=klmpbAaksrOOPu0Ftl6cVwgEhQNTsv_Okxkjn9J2Wc0,5430
42
42
  sksurv/io/__init__.py,sha256=LacpKG9UKO_RefPXc6umPaGFGPOGzA-FZra_MCRWCxk,92
43
43
  sksurv/io/arffread.py,sha256=zc18B_CWVPr5_6Q_8IjohSmHL6rdTwTOsMqygyM945Y,2750
44
44
  sksurv/meta/__init__.py,sha256=VLA0VhLxZhF3z35md5Z4-nhw6BSSCfR6L7YOBGk1w1A,216
@@ -49,10 +49,10 @@ sksurv/linear_model/coxph.py,sha256=KFzVDP1TrNr9Hv08bCGsacTX0w_aE2jwsgMpCHe3R8A,
49
49
  sksurv/linear_model/__init__.py,sha256=58Lt5Tj3xGqRS4uZfVR5avKQNZubHD6RSknVDyzLTso,152
50
50
  sksurv/linear_model/coxnet.py,sha256=RgIomES97BcaM-RWmxmrP6AE3vkDaBsy4of727VsVfQ,22556
51
51
  sksurv/linear_model/aft.py,sha256=1Vn_V-e5ffQhbIed34MZzZBt4RzvAcLaxI1VTOZrBEY,7558
52
- sksurv/linear_model/_coxnet.cpython-311-darwin.so,sha256=pmKJ5KA_rxerJPUHBIyt6lXInrpSnnK-wwpTqVwgNaI,103160
52
+ sksurv/linear_model/_coxnet.cpython-311-darwin.so,sha256=VD2r3SvWxwT1ytM1Gbg_selYB-bnKXtIwVwWWVVAqLI,103160
53
53
  sksurv/svm/naive_survival_svm.py,sha256=hx1C__lOT8hSV0g-YBI5reEgp9v4qQXOnvUlbVlHPwc,9319
54
54
  sksurv/svm/__init__.py,sha256=7BRFkatw9wbtsY-aes9cnz31VPpIjZ-383LuDmucDsw,328
55
55
  sksurv/svm/survival_svm.py,sha256=JGgUSft8p999DvZ0e617Ui2IEopt8kG3xspAJHt8CbU,44986
56
56
  sksurv/svm/minlip.py,sha256=B6nfOSxxWdXAB_Ym4AXxileEkyffVpRAnr34Yqvh9C8,24976
57
- sksurv/svm/_minlip.cpython-311-darwin.so,sha256=_qfpfUTteg4OxsaWx1ZluJhLKWvx7fNTgMSrk6SzziQ,190240
58
- sksurv/svm/_prsvm.cpython-311-darwin.so,sha256=N2ALsrqmnOY8qwMKKrk-EYKlrbqj4OdX47800Uc0c08,184576
57
+ sksurv/svm/_minlip.cpython-311-darwin.so,sha256=bpQv6nKnKDnO2AZhcNvGtoBjYj_C-Wic0N_6YpIIdDM,190240
58
+ sksurv/svm/_prsvm.cpython-311-darwin.so,sha256=gUZ9TljzSC_CIEClDxnQ8SR8UDp2X7iQOwLW56YOXjY,184576
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-macosx_10_13_x86_64
5
5
  Generator: delocate 0.13.0
sksurv/io/arffwrite.py CHANGED
@@ -172,7 +172,7 @@ def _write_data(data, fp):
172
172
  return "?"
173
173
  return str(x)
174
174
 
175
- data = data.applymap(to_str)
175
+ data = data.map(to_str)
176
176
  n_rows = data.shape[0]
177
177
  for i in range(n_rows):
178
178
  str_values = list(data.iloc[i, :].apply(_check_str_array))
sksurv/metrics.py CHANGED
@@ -510,7 +510,7 @@ def cumulative_dynamic_auc(survival_train, survival_test, estimate, times, tied_
510
510
  # to make sure that the curve starts at (0, 0)
511
511
  tp_no_ties = np.r_[0, tp_no_ties]
512
512
  fp_no_ties = np.r_[0, fp_no_ties]
513
- scores[i] = np.trapz(tp_no_ties, fp_no_ties)
513
+ scores[i] = np.trapezoid(tp_no_ties, fp_no_ties)
514
514
 
515
515
  if n_times == 1:
516
516
  mean_auc = scores[0]
@@ -780,7 +780,7 @@ def integrated_brier_score(survival_train, survival_test, estimate, times):
780
780
  raise ValueError("At least two time points must be given")
781
781
 
782
782
  # Computing the IBS
783
- ibs_value = np.trapz(brier_scores, times) / (times[-1] - times[0])
783
+ ibs_value = np.trapezoid(brier_scores, times) / (times[-1] - times[0])
784
784
 
785
785
  return ibs_value
786
786
 
Binary file
Binary file
sksurv/testing.py CHANGED
@@ -119,7 +119,7 @@ class FixtureParameterFactory:
119
119
  return cases
120
120
 
121
121
 
122
- def check_module_minimum_version(module, version_str):
122
+ def check_module_minimum_version(module, min_version_str, max_version_str=None):
123
123
  """
124
124
  Check whether a module of a specified minimum version is available.
125
125
 
@@ -127,8 +127,10 @@ def check_module_minimum_version(module, version_str):
127
127
  ----------
128
128
  module : str
129
129
  Name of the module.
130
- version_str : str
130
+ min_version_str : str
131
131
  Minimum version of the module.
132
+ max_version_str : str, optional
133
+ Maximum version of the module (excluding).
132
134
 
133
135
  Returns
134
136
  -------
@@ -137,14 +139,17 @@ def check_module_minimum_version(module, version_str):
137
139
  """
138
140
  try:
139
141
  module_version = parse(version(module))
140
- required_version = parse(version_str)
141
- return module_version >= required_version
142
+ required_min_version = parse(min_version_str)
143
+ if max_version_str is None:
144
+ return module_version >= required_min_version
145
+ required_max_version = parse(max_version_str)
146
+ return required_min_version <= module_version < required_max_version
142
147
  except PackageNotFoundError: # pragma: no cover
143
148
  return False
144
149
 
145
150
 
146
151
  def get_pandas_infer_string_context():
147
- if check_module_minimum_version("pandas", "2.3.0"):
152
+ if check_module_minimum_version("pandas", "2.3.0", "3.0.0"):
148
153
  return (
149
154
  pytest.param(pd.option_context("future.infer_string", False), id="infer_string=False"),
150
155
  pytest.param(pd.option_context("future.infer_string", True), id="infer_string=True"),