scikit-misc 0.4.0__tar.gz → 0.5.0__tar.gz

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.
Files changed (103) hide show
  1. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.spin/cmds.py +23 -0
  2. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/Makefile +1 -1
  3. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/PKG-INFO +2 -1
  4. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/changelog.rst +6 -0
  5. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/index.rst +2 -1
  6. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/meson.build +35 -66
  7. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/meson_options.txt +0 -4
  8. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/pyproject.toml +34 -19
  9. scikit_misc-0.5.0/requirements/ci_requirements.txt +3 -0
  10. scikit_misc-0.5.0/requirements/openblas.txt +1 -0
  11. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/__config__.py.in +0 -20
  12. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_version.py +1 -1
  13. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/meson.build +11 -11
  14. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/S.h +9 -14
  15. scikit_misc-0.5.0/skmisc/loess/src/blas_lite.f +1260 -0
  16. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loessc.c +4 -4
  17. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loessf.f +1 -1
  18. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/misc.c +1 -2
  19. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/meson.build +1 -1
  20. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/meson.build +127 -108
  21. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/check_license.py +1 -2
  22. scikit_misc-0.5.0/tools/wheels/cibw_before_build.sh +25 -0
  23. scikit_misc-0.5.0/tools/wheels/cibw_test_command.sh +18 -0
  24. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/repair_windows.sh +6 -7
  25. scikit_misc-0.4.0/.cirrus.star +0 -53
  26. scikit_misc-0.4.0/tools/openblas_support.py +0 -379
  27. scikit_misc-0.4.0/tools/wheels/cibw_before_build_linux.sh +0 -13
  28. scikit_misc-0.4.0/tools/wheels/cibw_before_build_macos.sh +0 -80
  29. scikit_misc-0.4.0/tools/wheels/cibw_before_build_win.sh +0 -36
  30. scikit_misc-0.4.0/tools/wheels/cibw_test_command.sh +0 -12
  31. scikit_misc-0.4.0/tools/wheels/gfortran_utils.sh +0 -171
  32. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.gitattributes +0 -0
  33. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.gitignore +0 -0
  34. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.pre-commit-config.yaml +0 -0
  35. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/LICENSE +0 -0
  36. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/README.rst +0 -0
  37. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/Makefile +0 -0
  38. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_static/copybutton.js +0 -0
  39. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_static/custom.css +0 -0
  40. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_templates/cython_class.rst +0 -0
  41. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_templates/layout.html +0 -0
  42. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/api.rst +0 -0
  43. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/conf.py +0 -0
  44. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/installation.rst +0 -0
  45. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/loess.rst +0 -0
  46. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/sphinxext/__init__.py +0 -0
  47. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/sphinxext/inline_code_highlight.py +0 -0
  48. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/globaltoc.html +0 -0
  49. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/layout.html +0 -0
  50. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/localtoc.html +0 -0
  51. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbar-2.html +0 -0
  52. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbar.html +0 -0
  53. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbarsearchbox.html +0 -0
  54. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbartoc.html +0 -0
  55. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/relations.html +0 -0
  56. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/search.html +0 -0
  57. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/searchbox.html +0 -0
  58. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/searchresults.html +0 -0
  59. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/sourcelink.html +0 -0
  60. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-3.4.1/css/bootstrap.min.css +0 -0
  61. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-3.4.1/js/bootstrap.min.js +0 -0
  62. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-sphinx.css_t +0 -0
  63. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-sphinx.js_t +0 -0
  64. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/js/jquery-1.12.4.min.js +0 -0
  65. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/js/jquery-fix.js +0 -0
  66. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/theme.conf +0 -0
  67. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/examples/loess-basic-usage.ipynb +0 -0
  68. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/examples/requirements-examples.txt +0 -0
  69. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/build.txt +0 -0
  70. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/dev.txt +0 -0
  71. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/docs.txt +0 -0
  72. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/release.txt +0 -0
  73. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/__init__.py +0 -0
  74. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_build_utils/copy_version_to_dist.py +0 -0
  75. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_build_utils/gcc_build_bitness.py +0 -0
  76. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_build_utils/version_please.py +0 -0
  77. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_distributor_init.py +0 -0
  78. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_version.py.in +0 -0
  79. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/LICENSE.txt +0 -0
  80. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/__init__.py +0 -0
  81. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/_loess.pyx +0 -0
  82. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/c_loess.pxd +0 -0
  83. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/linpack_lite.f +0 -0
  84. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loess.c +0 -0
  85. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loess.h +0 -0
  86. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/predict.c +0 -0
  87. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/__init__.py +0 -0
  88. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/co2_data +0 -0
  89. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/co2_results_double +0 -0
  90. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/co2_results_real +0 -0
  91. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/gas_data +0 -0
  92. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/gas_result +0 -0
  93. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/madeup_data +0 -0
  94. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/madeup_result +0 -0
  95. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/test_loess.py +0 -0
  96. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/spin +0 -0
  97. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/build_theme.sh +0 -0
  98. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/deploy_documentation.sh +0 -0
  99. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/LICENSE_linux.txt +0 -0
  100. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/LICENSE_osx.txt +0 -0
  101. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/LICENSE_win32.txt +0 -0
  102. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/howto.txt +0 -0
  103. {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/test.f +0 -0
@@ -100,3 +100,26 @@ def sdist():
100
100
  "--sdist",
101
101
  ".",
102
102
  ], replace=True)
103
+
104
+
105
+ @click.option(
106
+ "--clean", is_flag=True,
107
+ help="Clean build directory before build"
108
+ )
109
+ @click.option(
110
+ "-v", "--verbose", is_flag=True,
111
+ help="Print all build output, even installation"
112
+ )
113
+ @click.argument("meson_args", nargs=-1)
114
+ @click.pass_context
115
+ def build(
116
+ ctx,
117
+ meson_args,
118
+ jobs=None,
119
+ clean=False,
120
+ verbose=False,
121
+ quiet=False,
122
+ *args,
123
+ **kwargs
124
+ ):
125
+ ctx.forward(meson.build)
@@ -43,7 +43,7 @@ ruff:
43
43
  ruff check . $(args)
44
44
 
45
45
  ruff-isort:
46
- ruff --select I001 --quiet . $(args)
46
+ ruff check --select I001 --quiet . $(args)
47
47
 
48
48
 
49
49
  lint: ruff ruff-isort
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scikit-misc
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: Miscellaneous tools for scientific computing.
5
5
  Home-page: https://has2k1.github.io/scikit-misc/stable
6
6
  Author-Email: Hassan Kibirige <has2k1@gmail.com>
@@ -42,6 +42,7 @@ Classifier: Programming Language :: Python :: 3
42
42
  Classifier: Programming Language :: Python :: 3.10
43
43
  Classifier: Programming Language :: Python :: 3.11
44
44
  Classifier: Programming Language :: Python :: 3.12
45
+ Classifier: Programming Language :: Python :: 3.13
45
46
  Classifier: Topic :: Scientific/Engineering
46
47
  Project-URL: Homepage, https://has2k1.github.io/scikit-misc/stable
47
48
  Project-URL: Repository, https://github.com/has2k1/scikit-misc
@@ -1,6 +1,12 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ v0.5.0
5
+ ------
6
+ *(2024-07-25)*
7
+
8
+ - Fixed support for numpy 2.0
9
+
4
10
  v0.4.0
5
11
  ------
6
12
  *(2024-06-22)*
@@ -7,7 +7,8 @@ A collection of scientific algorithms missing from scipy.
7
7
  At some point some of the procedures were present in scipy in an
8
8
  unstable form, hence their removal. These procedures have been
9
9
  cleaned up some and the code made more stable. Please report issues
10
- and file corrections `at <https://github.com/has2k1/scikit-misc>`_.
10
+ and file corrections at `scikit-misc GitHub repository <https://github.com/has2k1/scikit-misc>`_.
11
+
11
12
 
12
13
  Documentation
13
14
  -------------
@@ -4,84 +4,39 @@ project(
4
4
  'c', 'cython',
5
5
  version: run_command('skmisc/_build_utils/version_please.py', check: true).stdout().strip(),
6
6
  license: 'BSD-3',
7
- meson_version: '>= 1.1.0',
7
+ meson_version: '>= 1.2.99',
8
8
  default_options: [
9
9
  'buildtype=debugoptimized',
10
10
  'c_std=c99',
11
11
  'fortran_std=legacy',
12
- 'blas=openblas',
13
- 'lapack=openblas'
12
+ 'pkgconfig.relocatable=true',
14
13
  ],
15
14
  )
16
15
 
17
- # Adding at project level causes many spurious -lgfortran flags.
18
- add_languages('fortran', native: false)
19
- ###
20
-
21
- #### Configuration Information
22
- conf_data = configuration_data()
23
-
24
- # The object above is stored so that we can write it to
25
- # a file.
26
- conf_data.set('VERSION', meson.project_version())
27
16
  ###
28
17
 
29
18
  #### Setup Python
30
19
  # https://mesonbuild.com/Python-module.html
31
- py_mod = import('python')
32
- py = py_mod.find_installation(pure: false)
33
- py_dep = py.dependency()
34
-
35
- skmisc_dir = py.get_install_dir() / 'skmisc'
36
-
37
- conf_data.set('PYTHON_PATH', py.full_path())
38
- conf_data.set('PYTHON_VERSION', py.language_version())
20
+ py3 = import('python').find_installation(pure: false)
21
+ py3_dep = py3.dependency()
39
22
  ###
40
23
 
41
- #### Setup Compilers
24
+ #### Define Compilers
42
25
  cc = meson.get_compiler('c')
43
- ff = meson.get_compiler('fortran')
44
- # generator() doesn't accept compilers, only found programs. Cast it.
45
26
  cy = meson.get_compiler('cython')
27
+ # generator() doesn't accept compilers, only found programs. Cast it.
46
28
  cython = find_program(cy.cmd_array()[0])
47
-
48
- compilers = {
49
- 'C': cc,
50
- 'CYTHON': cy,
51
- 'FORTRAN': ff
52
- }
53
-
54
- foreach name, compiler : compilers
55
- # conf_data.set(name + '_COMP_CMD_ARRAY', compiler.cmd_array())
56
- conf_data.set(name + '_COMP_CMD_ARRAY', compiler.get_id())
57
- conf_data.set(name + '_COMP', compiler.get_id())
58
- conf_data.set(name + '_COMP_LINKER_ID', compiler.get_linker_id())
59
- conf_data.set(name + '_COMP_VERSION', compiler.version())
60
- conf_data.set(name + '_COMP_CMD_ARRAY', ', '.join(compiler.cmd_array()))
61
- endforeach
62
- ###
63
-
64
- #### Setup Machine CPU & System Information
65
- machines = {
66
- 'HOST': host_machine,
67
- 'BUILD': build_machine,
68
- }
69
-
70
- foreach name, machine : machines
71
- conf_data.set(name + '_CPU', machine.cpu())
72
- conf_data.set(name + '_CPU_FAMILY', machine.cpu_family())
73
- conf_data.set(name + '_CPU_ENDIAN', machine.endian())
74
- conf_data.set(name + '_CPU_SYSTEM', machine.system())
75
- endforeach
76
-
77
- conf_data.set('CROSS_COMPILED', meson.is_cross_build())
78
29
  ###
79
30
 
80
31
  #### Compiler Arguments and Settings
81
32
  # Check compiler is recent enough (see "Toolchain Roadmap" for details)
82
33
  if cc.get_id() == 'gcc'
83
- if not cc.version().version_compare('>=8.0')
84
- error('scikit-misc requires GCC >= 8.0')
34
+ if not cc.version().version_compare('>=9.1')
35
+ error('scikit-misc requires GCC >= 9.1')
36
+ endif
37
+ elif cc.get_id() == 'clang' or cc.get_id() == 'clang-cl'
38
+ if not cc.version().version_compare('>=12.0')
39
+ error('scikit-misc requires clang >= 12.0')
85
40
  endif
86
41
  elif cc.get_id() == 'msvc'
87
42
  if not cc.version().version_compare('>=19.20')
@@ -90,21 +45,39 @@ elif cc.get_id() == 'msvc'
90
45
  endif
91
46
  endif
92
47
 
48
+ if not cy.version().version_compare('>=3.0.6')
49
+ error('NumPy requires Cython >= 3.0.6')
50
+ endif
51
+
52
+ # Add default compile flags for any compiler that supports them.
53
+ # Note that MSVC does not support strict aliasing at all, and neither do the
54
+ # Intel compilers on Windows, so the `-fno` flavor of the flag should be fine.
55
+ add_project_arguments(
56
+ cc.get_supported_arguments( '-fno-strict-aliasing'), language : 'c'
57
+ )
58
+
93
59
  # link against the standard math library since we use it in c
94
60
  m_dep = cc.find_library('m', required : false)
95
61
  if m_dep.found()
96
62
  add_project_link_arguments('-lm', language : 'c')
97
63
  endif
98
64
 
65
+ # Adding at project level causes many spurious -lgfortran flags.
99
66
  add_languages('fortran', native: false)
67
+ ff = meson.get_compiler('fortran')
100
68
  if ff.has_argument('-Wno-conversion')
101
69
  add_project_arguments('-Wno-conversion', language: 'fortran')
102
70
  endif
103
71
 
104
-
105
72
  is_windows = host_machine.system() == 'windows'
106
73
  is_macos = host_machine.system() == 'darwin'
107
74
 
75
+ if is_macos and cc.has_link_argument('-Wl,-ld_classic')
76
+ # New linker introduced in macOS 14 not working yet with at least OpenBLAS in Spack,
77
+ # see gh-24964 (and linked scipy issue from there).
78
+ add_project_link_arguments('-Wl,-ld_classic', language : ['c', 'cpp'])
79
+ endif
80
+
108
81
  # Intel compilers default to fast-math, so disable it if we detect Intel
109
82
  # compilers. A word of warning: this may not work with the conda-forge
110
83
  # compilers, because those have the annoying habit of including lots of flags
@@ -113,18 +86,18 @@ is_macos = host_machine.system() == 'darwin'
113
86
  # is actually needed, everything else shouldn't be there).
114
87
  _intel_cflags = []
115
88
  _intel_fflags = []
116
- if cc.get_id() == 'intel'
89
+ if cc.get_id() in ['intel', 'intel-llvm']
117
90
  _intel_cflags += cc.get_supported_arguments('-fp-model=strict')
118
- elif cc.get_id() == 'intel-cl'
91
+ elif cc.get_id() in ['intel-cl', 'intel-llvm-cl']
119
92
  _intel_cflags += cc.get_supported_arguments('/fp:strict')
120
93
  endif
121
- if ff.get_id() == 'intel'
94
+ if ff.get_id() in ['intel', 'intel-llvm']
122
95
  _intel_fflags = ff.get_supported_arguments('-fp-model=strict')
123
96
  minus0_arg = ['-assume', 'minus0']
124
97
  if ff.has_multi_arguments(minus0_arg)
125
98
  _intel_fflags += minus0_arg
126
99
  endif
127
- elif ff.get_id() == 'intel-cl'
100
+ elif ff.get_id() in ['intel-cl', 'intel-llvm-cl']
128
101
  # Intel Fortran on Windows does things differently, so deal with that
129
102
  # (also specify dynamic linking and the right name mangling)
130
103
  _intel_fflags = ff.get_supported_arguments(
@@ -134,10 +107,6 @@ elif ff.get_id() == 'intel-cl'
134
107
  endif
135
108
  add_project_arguments(_intel_cflags, language: ['c'])
136
109
  add_project_arguments(_intel_fflags, language: 'fortran')
137
-
138
- cython_c_args = []
139
- cython_args = ['-3', '--fast-fail', '--output-file', '@OUTPUT@', '--include-dir', '@BUILD_ROOT@', '@INPUT@']
140
- cython_c_link_args = []
141
110
  ###
142
111
 
143
112
  #### Include Main Package
@@ -1,7 +1,3 @@
1
- option('blas', type: 'string', value: 'openblas',
2
- description: 'option for BLAS library switching')
3
- option('lapack', type: 'string', value: 'openblas',
4
- description: 'option for LAPACK library switching')
5
1
  option('use-g77-abi', type: 'boolean', value: false,
6
2
  description: 'If set to true, forces using g77 compatibility wrappers ' +
7
3
  'for LAPACK functions. The default is to use gfortran ' +
@@ -25,6 +25,7 @@ classifiers = [
25
25
  "Programming Language :: Python :: 3.10",
26
26
  "Programming Language :: Python :: 3.11",
27
27
  "Programming Language :: Python :: 3.12",
28
+ "Programming Language :: Python :: 3.13",
28
29
  "Topic :: Scientific/Engineering",
29
30
  ]
30
31
 
@@ -75,7 +76,7 @@ changelog = "https://has2k1.github.io/scikit-misc/stable/changelog.html"
75
76
  build-backend = 'mesonpy'
76
77
  requires = [
77
78
  "meson-python>=0.15.0",
78
- "Cython>=3.0.8", # when updating version, also update check in meson.build
79
+ "Cython>=3.0.8",
79
80
  "setuptools",
80
81
  "wheel",
81
82
 
@@ -148,33 +149,47 @@ Environments = [
148
149
 
149
150
  ########## Tool - CIBuildWheel ##########
150
151
  [tool.cibuildwheel]
151
- skip = "pp* *_ppc64le *_i686 *_s390x *-musllinux*"
152
- build-verbosity = "3"
153
- # gmpy2 and scikit-umfpack are usually added for testing. However, there are
154
- # currently wheels missing that make the test script fail.
155
- test-requires = ["pytest", "pytest-cov"]
152
+ # Note: the below skip command doesn't do much currently, the platforms to
153
+ # build wheels for in CI are controlled in `.github/workflows/wheels.yml` and
154
+ # `tools/ci/cirrus_wheels.yml`.
155
+ build-frontend = "build"
156
+ skip = "cp36-* cp37-* cp-38* pp37-* *-manylinux_i686 *_ppc64le *_s390x *_universal2"
157
+ before-build = "bash {project}/tools/wheels/cibw_before_build.sh {project}"
156
158
  test-command = "bash {project}/tools/wheels/cibw_test_command.sh {project}"
159
+ test-requires = [
160
+ "pytest",
161
+ "pytest-cov",
162
+ ]
157
163
 
158
164
  [tool.cibuildwheel.linux]
159
165
  manylinux-x86_64-image = "manylinux2014"
160
166
  manylinux-aarch64-image = "manylinux2014"
161
- before-build = "bash {project}/tools/wheels/cibw_before_build_linux.sh {project}"
167
+
168
+ [tool.cibuildwheel.linux.environment]
169
+ # RUNNER_OS is a GitHub Actions specific env var; define it here so it works on Cirrus CI too
170
+ RUNNER_OS="Linux"
171
+
162
172
 
163
173
  [tool.cibuildwheel.macos]
164
- before-build = "bash {project}/tools/wheels/cibw_before_build_macos.sh {project}"
174
+ # universal2 wheels are not supported (see gh-21233), use `delocate-fuse` if you need them
175
+ # note that universal2 wheels are not built, they're listed in the tool.cibuildwheel.skip
176
+ # section
177
+ # Not clear why the DYLD_LIBRARY_PATH is not passed through from the environment
178
+ repair-wheel-command = [
179
+ "echo DYLD_LIBRARY_PATH $DYLD_LIBRARY_PATH",
180
+ "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}",
181
+ ]
182
+
183
+
184
+ [tool.cibuildwheel.macos.environment]
185
+ PKG_CONFIG_PATH="{project}"
165
186
 
166
187
  [tool.cibuildwheel.windows]
167
- before-build = "bash {project}/tools/wheels/cibw_before_build_win.sh {project}"
168
- repair-wheel-command = "bash ./tools/wheels/repair_windows.sh {wheel} {dest_dir}"
188
+ # This does not work, use CIBW_ENVIRONMENT_WINDOWS
189
+ config-settings = "setup-args=--vsenv build-dir=build"
190
+ repair-wheel-command = "bash -el ./tools/wheels/repair_windows.sh {wheel} {dest_dir}"
169
191
 
170
192
  [[tool.cibuildwheel.overrides]]
171
193
  select = "*-win32"
172
-
173
- [[tool.cibuildwheel.overrides]]
174
- select = "*-win_amd64"
175
- # can use pkg-config detection for win_amd64 because the installed rtools
176
- # provide a working pkg-config.
177
- # An alternative is to set CMAKE_PREFIX_PATH="c:/opt/openblas/if_32/32"
178
- # Don't use double backslash for path separators, they don't get passed
179
- # to the build correctly
180
- environment = { PKG_CONFIG_PATH="c:/opt/64/lib/pkgconfig" }
194
+ config-settings = "setup-args=--vsenv build-dir=build"
195
+ repair-wheel-command = ""
@@ -0,0 +1,3 @@
1
+ spin
2
+ # Keep this in sync with ci32_requirements.txt
3
+ scipy-openblas64==0.3.27.44.3
@@ -0,0 +1 @@
1
+ scipy-openblas32==0.3.27.63.1
@@ -45,26 +45,6 @@ CONFIG = _cleanup(
45
45
  },
46
46
  },
47
47
  "Build Dependencies": {
48
- "blas": {
49
- "name": "@BLAS_NAME@",
50
- "found": bool("@BLAS_FOUND@".lower().replace('false', '')),
51
- "version": "@BLAS_VERSION@",
52
- "detection method": "@BLAS_TYPE_NAME@",
53
- "include directory": r"@BLAS_INCLUDEDIR@",
54
- "lib directory": r"@BLAS_LIBDIR@",
55
- "openblas configuration": "@BLAS_OPENBLAS_CONFIG@",
56
- "pc file directory": r"@BLAS_PCFILEDIR@",
57
- },
58
- "lapack": {
59
- "name": "@LAPACK_NAME@",
60
- "found": bool("@LAPACK_FOUND@".lower().replace('false', '')),
61
- "version": "@LAPACK_VERSION@",
62
- "detection method": "@LAPACK_TYPE_NAME@",
63
- "include directory": r"@LAPACK_INCLUDEDIR@",
64
- "lib directory": r"@LAPACK_LIBDIR@",
65
- "openblas configuration": "@LAPACK_OPENBLAS_CONFIG@",
66
- "pc file directory": r"@LAPACK_PCFILEDIR@",
67
- },
68
48
  },
69
49
  "Machine Information": {
70
50
  "host": {
@@ -1,4 +1,4 @@
1
1
  # This file is dynamically generated by the build system to support
2
2
  # versioning with source control. Do not edit by hand
3
3
 
4
- __version__ = "0.4.0"
4
+ __version__ = "0.5.0"
@@ -16,21 +16,21 @@ loess_cython_gen = generator(
16
16
  ###
17
17
 
18
18
  #### Fortran Loess into a static library
19
- floess_sources = [
20
- 'src/loessf.f',
21
- 'src/linpack_lite.f'
22
- ]
23
19
 
24
20
  floess_lib = static_library(
25
21
  'floess',
26
- floess_sources,
27
- fortran_args: [fortran_ignore_warnings],
28
- dependencies: [blas, lapack]
22
+ sources: [
23
+ 'src/loessf.f',
24
+ 'src/linpack_lite.f',
25
+ 'src/blas_lite.f'
26
+ ],
27
+ fortran_args: [fortran_args, fortran_ignore_warnings],
28
+ link_args: [fortran_link_args],
29
29
  )
30
30
  ###
31
31
 
32
32
  #### Loess Extenstion Module
33
- py.extension_module(
33
+ py3.extension_module(
34
34
  '_loess',
35
35
  sources: [
36
36
  'src/loess.c',
@@ -39,8 +39,8 @@ py.extension_module(
39
39
  'src/predict.c',
40
40
  loess_cython_gen.process('src/_loess.pyx')
41
41
  ],
42
- c_args: [cython_c_args],
43
- dependencies: [py_dep, npymath_lib, np_dep],
42
+ c_args: [c_args, cython_c_args],
43
+ dependencies: [py3_dep, npymath_lib, np_dep],
44
44
  link_with: [floess_lib],
45
45
  link_args: [cython_c_link_args],
46
46
  link_language: 'c',
@@ -55,7 +55,7 @@ python_sources = [
55
55
  '__init__.py'
56
56
  ]
57
57
 
58
- py.install_sources(
58
+ py3.install_sources(
59
59
  python_sources,
60
60
  subdir: 'skmisc/loess'
61
61
  )
@@ -12,21 +12,16 @@
12
12
  * handed to the local loader; e.g., "x_" in system V, Berkeley & 9th edition
13
13
  */
14
14
 
15
- #ifdef lint
16
- #define F77_SUB(x) x
17
- #define F77_COM(x) x
15
+ #ifdef _MSC_VER
16
+ // Microsoft Visual C++
17
+ #define F77_SUB(x) x##_
18
18
  #else
19
- #ifdef __STDC__
20
- #define F77_SUB(x) x##_
21
- #define F77_COM(x) x##_
22
- #else
23
- #define F77_SUB(x) x/**/_
24
- #define F77_COM(x) x/**/_
25
- #endif
19
+ // Other compilers
20
+ #ifdef __STDC__
21
+ #define F77_SUB(x) x##_
22
+ #else
23
+ #define F77_SUB(x) x/**/_
24
+ #endif
26
25
  #endif
27
26
 
28
27
  #define NULL_ENTRY ((int *)NULL)
29
-
30
-
31
-
32
-