interpn 0.2.5__tar.gz → 0.2.6__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.
- {interpn-0.2.5 → interpn-0.2.6}/.github/workflows/CI.yml +6 -4
- {interpn-0.2.5 → interpn-0.2.6}/CHANGELOG.md +12 -0
- {interpn-0.2.5 → interpn-0.2.6}/Cargo.lock +53 -22
- {interpn-0.2.5 → interpn-0.2.6}/Cargo.toml +6 -5
- interpn-0.2.6/PKG-INFO +29 -0
- interpn-0.2.6/docs/1d_quality_of_fit_Rectilinear.svg +3807 -0
- {interpn-0.2.5 → interpn-0.2.6}/docs/1d_quality_of_fit_Regular.svg +1762 -1782
- interpn-0.2.6/docs/2d_quality_of_fit_Rectilinear.svg +3405 -0
- interpn-0.2.6/docs/2d_quality_of_fit_Regular.svg +3423 -0
- {interpn-0.2.5 → interpn-0.2.6}/docs/3d_throughput_vs_nobs.svg +647 -605
- {interpn-0.2.5 → interpn-0.2.6}/docs/3d_throughput_vs_nobs_prealloc.svg +692 -650
- {interpn-0.2.5 → interpn-0.2.6}/docs/6d_throughput_vs_nobs.svg +727 -705
- {interpn-0.2.5 → interpn-0.2.6}/docs/6d_throughput_vs_nobs_prealloc.svg +786 -757
- {interpn-0.2.5 → interpn-0.2.6}/docs/throughput_vs_dims_1000_obs.svg +642 -629
- interpn-0.2.6/docs/throughput_vs_dims_1_obs.svg +2268 -0
- {interpn-0.2.5 → interpn-0.2.6}/pyproject.toml +1 -1
- {interpn-0.2.5 → interpn-0.2.6}/src/lib.rs +40 -69
- {interpn-0.2.5 → interpn-0.2.6}/test/bench_cpu.py +28 -6
- interpn-0.2.6/uv.lock +2123 -0
- interpn-0.2.5/PKG-INFO +0 -143
- interpn-0.2.5/docs/1d_quality_of_fit_Rectilinear.svg +0 -5356
- interpn-0.2.5/docs/2d_quality_of_fit_Rectilinear.svg +0 -3435
- interpn-0.2.5/docs/2d_quality_of_fit_Regular.svg +0 -3458
- interpn-0.2.5/docs/throughput_vs_dims_1_obs.svg +0 -2185
- {interpn-0.2.5 → interpn-0.2.6}/.cargo/config.toml +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/.github/workflows/test.yml +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/.gitignore +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/.readthedocs.yml +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/LICENSE-APACHE +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/LICENSE-MIT +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/README.md +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/docs/API_Docs.md +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/docs/index.md +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/docs/perf.md +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/docs/ram_vs_dims.svg +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/docs/requirements.txt +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/examples/cubic_comparison.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/__init__.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/multicubic_rectilinear.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/multicubic_regular.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/multilinear_rectilinear.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/multilinear_regular.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/py.typed +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/raw.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/interpn/serialization.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/mkdocs.yml +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/test/bench_mem.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/test/test_docs.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/test/test_multicubic_rectilinear.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/test/test_multicubic_regular.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/test/test_multilinear_rectilinear.py +0 -0
- {interpn-0.2.5 → interpn-0.2.6}/test/test_multilinear_regular.py +0 -0
|
@@ -22,8 +22,9 @@ jobs:
|
|
|
22
22
|
platform:
|
|
23
23
|
- runner: ubuntu-22.04
|
|
24
24
|
target: x86_64
|
|
25
|
-
-
|
|
26
|
-
|
|
25
|
+
# Exclude 32-bit linux due to OOM issues during compilation & no demand
|
|
26
|
+
# - runner: ubuntu-22.04
|
|
27
|
+
# target: x86
|
|
27
28
|
- runner: ubuntu-22.04
|
|
28
29
|
target: aarch64
|
|
29
30
|
- runner: ubuntu-22.04
|
|
@@ -40,7 +41,7 @@ jobs:
|
|
|
40
41
|
uses: PyO3/maturin-action@v1
|
|
41
42
|
with:
|
|
42
43
|
target: ${{ matrix.platform.target }}
|
|
43
|
-
args: --release --out dist --find-interpreter
|
|
44
|
+
args: --release --out dist --find-interpreter -j 1
|
|
44
45
|
# sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
45
46
|
manylinux: auto
|
|
46
47
|
- name: Upload wheels
|
|
@@ -94,11 +95,12 @@ jobs:
|
|
|
94
95
|
- uses: actions/setup-python@v5
|
|
95
96
|
with:
|
|
96
97
|
architecture: ${{ matrix.platform.target }}
|
|
98
|
+
python-version: ${{ matrix.python-version }}
|
|
97
99
|
- name: Build wheels
|
|
98
100
|
uses: PyO3/maturin-action@v1
|
|
99
101
|
with:
|
|
100
102
|
target: ${{ matrix.platform.target }}
|
|
101
|
-
args: --release --out dist
|
|
103
|
+
args: --release --out dist
|
|
102
104
|
# sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
103
105
|
- name: Upload wheels
|
|
104
106
|
uses: actions/upload-artifact@v4
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.6 2025-09-27
|
|
4
|
+
|
|
5
|
+
2-5x speedup and fully-analyzable call stack (no recursion) for lower dimensions
|
|
6
|
+
(1D-6D linear, 1D-4D cubic). Recursive methods still available for higher dimensions.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
* Update rust deps
|
|
11
|
+
* Reduce boilerplate in bindings
|
|
12
|
+
* Update perf plots
|
|
13
|
+
* Use abi3-py39 for extension module build
|
|
14
|
+
|
|
3
15
|
## 0.2.5 2025-03-14
|
|
4
16
|
|
|
5
17
|
### Changed
|
|
@@ -4,7 +4,7 @@ version = 4
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "_interpn"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.2.6"
|
|
8
8
|
dependencies = [
|
|
9
9
|
"interpn",
|
|
10
10
|
"numpy",
|
|
@@ -18,10 +18,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
18
18
|
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
|
|
19
19
|
|
|
20
20
|
[[package]]
|
|
21
|
-
name = "
|
|
22
|
-
version = "1.
|
|
21
|
+
name = "cc"
|
|
22
|
+
version = "1.2.39"
|
|
23
23
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
24
|
-
checksum = "
|
|
24
|
+
checksum = "e1354349954c6fc9cb0deab020f27f783cf0b604e8bb754dc4658ecf0d29c35f"
|
|
25
|
+
dependencies = [
|
|
26
|
+
"find-msvc-tools",
|
|
27
|
+
"shlex",
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
[[package]]
|
|
31
|
+
name = "crunchy"
|
|
32
|
+
version = "0.2.4"
|
|
33
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
34
|
+
checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
|
|
35
|
+
|
|
36
|
+
[[package]]
|
|
37
|
+
name = "find-msvc-tools"
|
|
38
|
+
version = "0.1.2"
|
|
39
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
40
|
+
checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959"
|
|
25
41
|
|
|
26
42
|
[[package]]
|
|
27
43
|
name = "heck"
|
|
@@ -37,10 +53,11 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
|
|
|
37
53
|
|
|
38
54
|
[[package]]
|
|
39
55
|
name = "interpn"
|
|
40
|
-
version = "0.
|
|
56
|
+
version = "0.5.0"
|
|
41
57
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
42
|
-
checksum = "
|
|
58
|
+
checksum = "9d8ceb077fd88a2aae0756f6602730ac107f8a78a12ca2de5bc0f535dd66235c"
|
|
43
59
|
dependencies = [
|
|
60
|
+
"crunchy",
|
|
44
61
|
"num-traits",
|
|
45
62
|
]
|
|
46
63
|
|
|
@@ -118,9 +135,9 @@ dependencies = [
|
|
|
118
135
|
|
|
119
136
|
[[package]]
|
|
120
137
|
name = "numpy"
|
|
121
|
-
version = "0.
|
|
138
|
+
version = "0.26.0"
|
|
122
139
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
123
|
-
checksum = "
|
|
140
|
+
checksum = "9b2dba356160b54f5371b550575b78130a54718b4c6e46b3f33a6da74a27e78b"
|
|
124
141
|
dependencies = [
|
|
125
142
|
"libc",
|
|
126
143
|
"ndarray",
|
|
@@ -134,9 +151,9 @@ dependencies = [
|
|
|
134
151
|
|
|
135
152
|
[[package]]
|
|
136
153
|
name = "once_cell"
|
|
137
|
-
version = "1.
|
|
154
|
+
version = "1.21.3"
|
|
138
155
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
139
|
-
checksum = "
|
|
156
|
+
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
|
140
157
|
|
|
141
158
|
[[package]]
|
|
142
159
|
name = "portable-atomic"
|
|
@@ -155,11 +172,10 @@ dependencies = [
|
|
|
155
172
|
|
|
156
173
|
[[package]]
|
|
157
174
|
name = "pyo3"
|
|
158
|
-
version = "0.
|
|
175
|
+
version = "0.26.0"
|
|
159
176
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
160
|
-
checksum = "
|
|
177
|
+
checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383"
|
|
161
178
|
dependencies = [
|
|
162
|
-
"cfg-if",
|
|
163
179
|
"indoc",
|
|
164
180
|
"libc",
|
|
165
181
|
"memoffset",
|
|
@@ -173,19 +189,19 @@ dependencies = [
|
|
|
173
189
|
|
|
174
190
|
[[package]]
|
|
175
191
|
name = "pyo3-build-config"
|
|
176
|
-
version = "0.
|
|
192
|
+
version = "0.26.0"
|
|
177
193
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
178
|
-
checksum = "
|
|
194
|
+
checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
|
|
179
195
|
dependencies = [
|
|
180
|
-
"
|
|
196
|
+
"python3-dll-a",
|
|
181
197
|
"target-lexicon",
|
|
182
198
|
]
|
|
183
199
|
|
|
184
200
|
[[package]]
|
|
185
201
|
name = "pyo3-ffi"
|
|
186
|
-
version = "0.
|
|
202
|
+
version = "0.26.0"
|
|
187
203
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
188
|
-
checksum = "
|
|
204
|
+
checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105"
|
|
189
205
|
dependencies = [
|
|
190
206
|
"libc",
|
|
191
207
|
"pyo3-build-config",
|
|
@@ -193,9 +209,9 @@ dependencies = [
|
|
|
193
209
|
|
|
194
210
|
[[package]]
|
|
195
211
|
name = "pyo3-macros"
|
|
196
|
-
version = "0.
|
|
212
|
+
version = "0.26.0"
|
|
197
213
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
198
|
-
checksum = "
|
|
214
|
+
checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded"
|
|
199
215
|
dependencies = [
|
|
200
216
|
"proc-macro2",
|
|
201
217
|
"pyo3-macros-backend",
|
|
@@ -205,9 +221,9 @@ dependencies = [
|
|
|
205
221
|
|
|
206
222
|
[[package]]
|
|
207
223
|
name = "pyo3-macros-backend"
|
|
208
|
-
version = "0.
|
|
224
|
+
version = "0.26.0"
|
|
209
225
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
210
|
-
checksum = "
|
|
226
|
+
checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf"
|
|
211
227
|
dependencies = [
|
|
212
228
|
"heck",
|
|
213
229
|
"proc-macro2",
|
|
@@ -216,6 +232,15 @@ dependencies = [
|
|
|
216
232
|
"syn",
|
|
217
233
|
]
|
|
218
234
|
|
|
235
|
+
[[package]]
|
|
236
|
+
name = "python3-dll-a"
|
|
237
|
+
version = "0.2.14"
|
|
238
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
239
|
+
checksum = "d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8"
|
|
240
|
+
dependencies = [
|
|
241
|
+
"cc",
|
|
242
|
+
]
|
|
243
|
+
|
|
219
244
|
[[package]]
|
|
220
245
|
name = "quote"
|
|
221
246
|
version = "1.0.36"
|
|
@@ -237,6 +262,12 @@ version = "2.1.1"
|
|
|
237
262
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
238
263
|
checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
|
|
239
264
|
|
|
265
|
+
[[package]]
|
|
266
|
+
name = "shlex"
|
|
267
|
+
version = "1.3.0"
|
|
268
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
269
|
+
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
270
|
+
|
|
240
271
|
[[package]]
|
|
241
272
|
name = "syn"
|
|
242
273
|
version = "2.0.75"
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "_interpn"
|
|
3
|
-
version = "0.
|
|
4
|
-
edition = "
|
|
3
|
+
version = "0.2.6"
|
|
4
|
+
edition = "2024"
|
|
5
|
+
readme = "README.md"
|
|
5
6
|
|
|
6
7
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
7
8
|
[lib]
|
|
@@ -9,9 +10,9 @@ name = "_interpn"
|
|
|
9
10
|
crate-type = ["cdylib"]
|
|
10
11
|
|
|
11
12
|
[dependencies]
|
|
12
|
-
pyo3 = "
|
|
13
|
-
numpy = "
|
|
14
|
-
interpn = {version = "0.
|
|
13
|
+
pyo3 = { version = "0.26.0", features = ["extension-module", "abi3-py39", "generate-import-lib"] }
|
|
14
|
+
numpy = "0.26.0"
|
|
15
|
+
interpn = {version = "0.5.0", default-features = false}
|
|
15
16
|
#interpn = { path = "../interpn/interpn" }
|
|
16
17
|
|
|
17
18
|
[profile.release]
|
interpn-0.2.6/PKG-INFO
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: interpn
|
|
3
|
+
Version: 0.2.6
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
7
|
+
Requires-Dist: numpy>=2
|
|
8
|
+
Requires-Dist: pydantic>=2.5.2
|
|
9
|
+
Requires-Dist: pytest>=8.0 ; extra == 'test'
|
|
10
|
+
Requires-Dist: coverage>=7.3.2 ; extra == 'test'
|
|
11
|
+
Requires-Dist: ruff>=0.4.10 ; extra == 'test'
|
|
12
|
+
Requires-Dist: pyright==1.1.337 ; extra == 'test'
|
|
13
|
+
Requires-Dist: mktestdocs>=0.2.1 ; extra == 'test'
|
|
14
|
+
Requires-Dist: scipy>=1.11.4 ; extra == 'test'
|
|
15
|
+
Requires-Dist: matplotlib>=3.8 ; extra == 'test'
|
|
16
|
+
Requires-Dist: scipy>=1.11.4 ; extra == 'bench'
|
|
17
|
+
Requires-Dist: matplotlib>=3.8 ; extra == 'bench'
|
|
18
|
+
Requires-Dist: memory-profiler>=0.61.0 ; extra == 'bench'
|
|
19
|
+
Requires-Dist: mkdocs>=1.5.3 ; extra == 'doc'
|
|
20
|
+
Requires-Dist: mkdocstrings-python>=1.7.5 ; extra == 'doc'
|
|
21
|
+
Requires-Dist: mkdocs-material>=9.4.10 ; extra == 'doc'
|
|
22
|
+
Provides-Extra: test
|
|
23
|
+
Provides-Extra: bench
|
|
24
|
+
Provides-Extra: doc
|
|
25
|
+
License-File: LICENSE-APACHE
|
|
26
|
+
License-File: LICENSE-MIT
|
|
27
|
+
Summary: N-dimensional interpolation/extrapolation methods
|
|
28
|
+
Author-email: James Logan <jlogan03@gmail.com>
|
|
29
|
+
Requires-Python: >=3.9, <3.14
|