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.
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.spin/cmds.py +23 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/Makefile +1 -1
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/PKG-INFO +2 -1
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/changelog.rst +6 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/index.rst +2 -1
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/meson.build +35 -66
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/meson_options.txt +0 -4
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/pyproject.toml +34 -19
- scikit_misc-0.5.0/requirements/ci_requirements.txt +3 -0
- scikit_misc-0.5.0/requirements/openblas.txt +1 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/__config__.py.in +0 -20
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_version.py +1 -1
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/meson.build +11 -11
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/S.h +9 -14
- scikit_misc-0.5.0/skmisc/loess/src/blas_lite.f +1260 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loessc.c +4 -4
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loessf.f +1 -1
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/misc.c +1 -2
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/meson.build +1 -1
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/meson.build +127 -108
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/check_license.py +1 -2
- scikit_misc-0.5.0/tools/wheels/cibw_before_build.sh +25 -0
- scikit_misc-0.5.0/tools/wheels/cibw_test_command.sh +18 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/repair_windows.sh +6 -7
- scikit_misc-0.4.0/.cirrus.star +0 -53
- scikit_misc-0.4.0/tools/openblas_support.py +0 -379
- scikit_misc-0.4.0/tools/wheels/cibw_before_build_linux.sh +0 -13
- scikit_misc-0.4.0/tools/wheels/cibw_before_build_macos.sh +0 -80
- scikit_misc-0.4.0/tools/wheels/cibw_before_build_win.sh +0 -36
- scikit_misc-0.4.0/tools/wheels/cibw_test_command.sh +0 -12
- scikit_misc-0.4.0/tools/wheels/gfortran_utils.sh +0 -171
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.gitattributes +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.gitignore +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/.pre-commit-config.yaml +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/LICENSE +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/README.rst +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/Makefile +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_static/copybutton.js +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_static/custom.css +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_templates/cython_class.rst +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/_templates/layout.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/api.rst +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/conf.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/installation.rst +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/loess.rst +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/sphinxext/__init__.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/sphinxext/inline_code_highlight.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/globaltoc.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/layout.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/localtoc.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbar-2.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbar.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbarsearchbox.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/navbartoc.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/relations.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/search.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/searchbox.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/searchresults.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/sourcelink.html +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-3.4.1/css/bootstrap.min.css +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-3.4.1/js/bootstrap.min.js +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-sphinx.css_t +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/bootstrap-sphinx.js_t +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/js/jquery-1.12.4.min.js +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/static/js/jquery-fix.js +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/doc/theme/theme.conf +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/examples/loess-basic-usage.ipynb +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/examples/requirements-examples.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/build.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/dev.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/docs.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/requirements/release.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/__init__.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_build_utils/copy_version_to_dist.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_build_utils/gcc_build_bitness.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_build_utils/version_please.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_distributor_init.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/_version.py.in +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/LICENSE.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/__init__.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/_loess.pyx +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/c_loess.pxd +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/linpack_lite.f +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loess.c +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/loess.h +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/src/predict.c +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/__init__.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/co2_data +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/co2_results_double +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/co2_results_real +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/gas_data +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/gas_result +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/madeup_data +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/madeup_result +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/skmisc/loess/tests/test_loess.py +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/spin +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/build_theme.sh +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/deploy_documentation.sh +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/LICENSE_linux.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/LICENSE_osx.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/LICENSE_win32.txt +0 -0
- {scikit_misc-0.4.0 → scikit_misc-0.5.0}/tools/wheels/howto.txt +0 -0
- {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)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: scikit-misc
|
|
3
|
-
Version: 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
|
|
@@ -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
|
|
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.
|
|
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
|
-
'
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
####
|
|
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('>=
|
|
84
|
-
error('scikit-misc requires GCC >=
|
|
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()
|
|
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()
|
|
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()
|
|
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()
|
|
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",
|
|
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
|
|
152
|
-
build
|
|
153
|
-
#
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
168
|
-
|
|
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
|
-
|
|
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 @@
|
|
|
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": {
|
|
@@ -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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
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: [
|
|
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
|
-
|
|
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
|
|
16
|
-
|
|
17
|
-
#define
|
|
15
|
+
#ifdef _MSC_VER
|
|
16
|
+
// Microsoft Visual C++
|
|
17
|
+
#define F77_SUB(x) x##_
|
|
18
18
|
#else
|
|
19
|
-
|
|
20
|
-
#
|
|
21
|
-
#define
|
|
22
|
-
#else
|
|
23
|
-
#define F77_SUB(x) x/**/_
|
|
24
|
-
#
|
|
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
|
-
|