interpn 0.2.1__tar.gz → 0.2.2__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 (45) hide show
  1. {interpn-0.2.1 → interpn-0.2.2}/.github/workflows/CI.yml +3 -3
  2. {interpn-0.2.1 → interpn-0.2.2}/.github/workflows/test.yml +1 -1
  3. interpn-0.2.2/CHANGELOG.md +9 -0
  4. {interpn-0.2.1 → interpn-0.2.2}/Cargo.lock +13 -13
  5. {interpn-0.2.1 → interpn-0.2.2}/Cargo.toml +3 -3
  6. {interpn-0.2.1 → interpn-0.2.2}/LICENSE-MIT +1 -1
  7. {interpn-0.2.1 → interpn-0.2.2}/PKG-INFO +10 -6
  8. {interpn-0.2.1 → interpn-0.2.2}/README.md +4 -1
  9. {interpn-0.2.1 → interpn-0.2.2}/docs/index.md +10 -0
  10. {interpn-0.2.1 → interpn-0.2.2}/pyproject.toml +7 -7
  11. {interpn-0.2.1 → interpn-0.2.2}/.gitignore +0 -0
  12. {interpn-0.2.1 → interpn-0.2.2}/.readthedocs.yml +0 -0
  13. {interpn-0.2.1 → interpn-0.2.2}/LICENSE-APACHE +0 -0
  14. {interpn-0.2.1 → interpn-0.2.2}/docs/1d_quality_of_fit_Rectilinear.svg +0 -0
  15. {interpn-0.2.1 → interpn-0.2.2}/docs/1d_quality_of_fit_Regular.svg +0 -0
  16. {interpn-0.2.1 → interpn-0.2.2}/docs/2d_quality_of_fit_Rectilinear.svg +0 -0
  17. {interpn-0.2.1 → interpn-0.2.2}/docs/2d_quality_of_fit_Regular.svg +0 -0
  18. {interpn-0.2.1 → interpn-0.2.2}/docs/3d_throughput_vs_nobs.svg +0 -0
  19. {interpn-0.2.1 → interpn-0.2.2}/docs/3d_throughput_vs_nobs_prealloc.svg +0 -0
  20. {interpn-0.2.1 → interpn-0.2.2}/docs/6d_throughput_vs_nobs.svg +0 -0
  21. {interpn-0.2.1 → interpn-0.2.2}/docs/6d_throughput_vs_nobs_prealloc.svg +0 -0
  22. {interpn-0.2.1 → interpn-0.2.2}/docs/API_Docs.md +0 -0
  23. {interpn-0.2.1 → interpn-0.2.2}/docs/perf.md +0 -0
  24. {interpn-0.2.1 → interpn-0.2.2}/docs/ram_vs_dims.svg +0 -0
  25. {interpn-0.2.1 → interpn-0.2.2}/docs/requirements.txt +0 -0
  26. {interpn-0.2.1 → interpn-0.2.2}/docs/throughput_vs_dims_1000_obs.svg +0 -0
  27. {interpn-0.2.1 → interpn-0.2.2}/docs/throughput_vs_dims_1_obs.svg +0 -0
  28. {interpn-0.2.1 → interpn-0.2.2}/examples/cubic_comparison.py +0 -0
  29. {interpn-0.2.1 → interpn-0.2.2}/interpn/__init__.py +0 -0
  30. {interpn-0.2.1 → interpn-0.2.2}/interpn/multicubic_rectilinear.py +0 -0
  31. {interpn-0.2.1 → interpn-0.2.2}/interpn/multicubic_regular.py +0 -0
  32. {interpn-0.2.1 → interpn-0.2.2}/interpn/multilinear_rectilinear.py +0 -0
  33. {interpn-0.2.1 → interpn-0.2.2}/interpn/multilinear_regular.py +0 -0
  34. {interpn-0.2.1 → interpn-0.2.2}/interpn/py.typed +0 -0
  35. {interpn-0.2.1 → interpn-0.2.2}/interpn/raw.py +0 -0
  36. {interpn-0.2.1 → interpn-0.2.2}/interpn/serialization.py +0 -0
  37. {interpn-0.2.1 → interpn-0.2.2}/mkdocs.yml +0 -0
  38. {interpn-0.2.1 → interpn-0.2.2}/src/lib.rs +0 -0
  39. {interpn-0.2.1 → interpn-0.2.2}/test/bench_cpu.py +0 -0
  40. {interpn-0.2.1 → interpn-0.2.2}/test/bench_mem.py +0 -0
  41. {interpn-0.2.1 → interpn-0.2.2}/test/test_docs.py +0 -0
  42. {interpn-0.2.1 → interpn-0.2.2}/test/test_multicubic_rectilinear.py +0 -0
  43. {interpn-0.2.1 → interpn-0.2.2}/test/test_multicubic_regular.py +0 -0
  44. {interpn-0.2.1 → interpn-0.2.2}/test/test_multilinear_rectilinear.py +0 -0
  45. {interpn-0.2.1 → interpn-0.2.2}/test/test_multilinear_regular.py +0 -0
@@ -28,7 +28,7 @@ jobs:
28
28
  strategy:
29
29
  matrix:
30
30
  target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
31
- python-version: ["3.9", "3.10", "3.11"]
31
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
32
32
  steps:
33
33
  - uses: actions/checkout@v3
34
34
  - uses: actions/setup-python@v4
@@ -52,7 +52,7 @@ jobs:
52
52
  strategy:
53
53
  matrix:
54
54
  target: [x64, x86]
55
- python-version: ["3.9", "3.10", "3.11"]
55
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
56
56
  steps:
57
57
  - uses: actions/checkout@v3
58
58
  - uses: actions/setup-python@v4
@@ -76,7 +76,7 @@ jobs:
76
76
  strategy:
77
77
  matrix:
78
78
  target: [x86_64, aarch64]
79
- python-version: ["3.9", "3.10", "3.11"]
79
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
80
80
  steps:
81
81
  - uses: actions/checkout@v3
82
82
  - uses: actions/setup-python@v4
@@ -11,7 +11,7 @@ jobs:
11
11
  strategy:
12
12
  matrix:
13
13
  target: [x86_64]
14
- python-version: ["3.9", "3.10", "3.11"]
14
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
15
15
  steps:
16
16
  - uses: actions/checkout@v3
17
17
  - uses: actions/setup-python@v4
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+
3
+ ## 0.2.2 2024-07-08
4
+
5
+ ### Changed
6
+
7
+ * Update python deps incl. numpy >2
8
+ * Update rust deps
9
+ * Support python 3.12
@@ -4,7 +4,7 @@ version = 3
4
4
 
5
5
  [[package]]
6
6
  name = "_interpn"
7
- version = "0.1.2"
7
+ version = "0.1.3"
8
8
  dependencies = [
9
9
  "interpn",
10
10
  "numpy",
@@ -135,9 +135,9 @@ dependencies = [
135
135
 
136
136
  [[package]]
137
137
  name = "numpy"
138
- version = "0.20.0"
138
+ version = "0.21.0"
139
139
  source = "registry+https://github.com/rust-lang/crates.io-index"
140
- checksum = "bef41cbb417ea83b30525259e30ccef6af39b31c240bda578889494c5392d331"
140
+ checksum = "ec170733ca37175f5d75a5bea5911d6ff45d2cd52849ce98b685394e4f2f37f4"
141
141
  dependencies = [
142
142
  "libc",
143
143
  "ndarray",
@@ -194,9 +194,9 @@ dependencies = [
194
194
 
195
195
  [[package]]
196
196
  name = "pyo3"
197
- version = "0.20.3"
197
+ version = "0.21.2"
198
198
  source = "registry+https://github.com/rust-lang/crates.io-index"
199
- checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233"
199
+ checksum = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8"
200
200
  dependencies = [
201
201
  "cfg-if",
202
202
  "indoc",
@@ -212,9 +212,9 @@ dependencies = [
212
212
 
213
213
  [[package]]
214
214
  name = "pyo3-build-config"
215
- version = "0.20.3"
215
+ version = "0.21.2"
216
216
  source = "registry+https://github.com/rust-lang/crates.io-index"
217
- checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7"
217
+ checksum = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50"
218
218
  dependencies = [
219
219
  "once_cell",
220
220
  "target-lexicon",
@@ -222,9 +222,9 @@ dependencies = [
222
222
 
223
223
  [[package]]
224
224
  name = "pyo3-ffi"
225
- version = "0.20.3"
225
+ version = "0.21.2"
226
226
  source = "registry+https://github.com/rust-lang/crates.io-index"
227
- checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa"
227
+ checksum = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403"
228
228
  dependencies = [
229
229
  "libc",
230
230
  "pyo3-build-config",
@@ -232,9 +232,9 @@ dependencies = [
232
232
 
233
233
  [[package]]
234
234
  name = "pyo3-macros"
235
- version = "0.20.3"
235
+ version = "0.21.2"
236
236
  source = "registry+https://github.com/rust-lang/crates.io-index"
237
- checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158"
237
+ checksum = "77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c"
238
238
  dependencies = [
239
239
  "proc-macro2",
240
240
  "pyo3-macros-backend",
@@ -244,9 +244,9 @@ dependencies = [
244
244
 
245
245
  [[package]]
246
246
  name = "pyo3-macros-backend"
247
- version = "0.20.3"
247
+ version = "0.21.2"
248
248
  source = "registry+https://github.com/rust-lang/crates.io-index"
249
- checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185"
249
+ checksum = "08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c"
250
250
  dependencies = [
251
251
  "heck",
252
252
  "proc-macro2",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "_interpn"
3
- version = "0.1.2"
3
+ version = "0.1.3"
4
4
  edition = "2021"
5
5
 
6
6
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -9,8 +9,8 @@ name = "_interpn"
9
9
  crate-type = ["cdylib"]
10
10
 
11
11
  [dependencies]
12
- pyo3 = "0.20.3"
13
- numpy = "0.20.0"
12
+ pyo3 = "^0.21.0"
13
+ numpy = "^0.21.0"
14
14
  interpn = {version = "0.4.2", default_features = false}
15
15
  #interpn = { path = "../interpn/interpn" }
16
16
 
@@ -1,4 +1,4 @@
1
- Copyright (c) 2023 James Logan
1
+ Copyright (c) 2024 James Logan
2
2
 
3
3
  Permission is hereby granted, free of charge, to any
4
4
  person obtaining a copy of this software and associated
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: interpn
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
7
- Requires-Dist: numpy >=1
7
+ Requires-Dist: numpy >=2
8
8
  Requires-Dist: pydantic >=2.5.2
9
- Requires-Dist: pytest >=7.4.3 ; extra == 'test'
9
+ Requires-Dist: pytest >=8.0 ; extra == 'test'
10
10
  Requires-Dist: coverage >=7.3.2 ; extra == 'test'
11
- Requires-Dist: ruff >=0.1.6 ; extra == 'test'
12
- Requires-Dist: pyright >=1.1.337 ; extra == 'test'
11
+ Requires-Dist: ruff >=0.4.10 ; extra == 'test'
12
+ Requires-Dist: pyright ==1.1.337 ; extra == 'test'
13
13
  Requires-Dist: mktestdocs >=0.2.1 ; extra == 'test'
14
14
  Requires-Dist: scipy >=1.11.4 ; extra == 'test'
15
15
  Requires-Dist: matplotlib >=3.8 ; extra == 'test'
@@ -26,7 +26,7 @@ License-File: LICENSE-APACHE
26
26
  License-File: LICENSE-MIT
27
27
  Summary: N-dimensional interpolation/extrapolation methods
28
28
  Author-email: jlogan03@gmail.com
29
- Requires-Python: >=3.9, <3.12
29
+ Requires-Python: >=3.9, <3.13
30
30
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
31
31
 
32
32
  # interpn
@@ -39,12 +39,14 @@ Python bindings to the `interpn` Rust library for N-dimensional interpolation an
39
39
  [Rust Docs (docs.rs)](https://docs.rs/interpn/latest/interpn/)
40
40
 
41
41
  ## Features
42
+
42
43
  | Feature →<br>↓ Interpolant Method | Regular<br>Grid | Rectilinear<br>Grid | Json<br>Serialization |
43
44
  |-----------------------------------|-----------------|---------------------|-----------------------|
44
45
  | Linear | ✅ | ✅ | ✅ |
45
46
  | Cubic | ✅ | ✅ | ✅ |
46
47
 
47
48
  The methods provided here, while more limited in scope than scipy's, are
49
+
48
50
  * significantly faster for higher dimensions (1-3 orders of magnitude under most conditions)
49
51
  * use almost no RAM (and perform no heap allocations at all)
50
52
  * produce significantly improved floating-point error (by 1-2 orders of magnitude)
@@ -131,9 +133,11 @@ assert np.all(out == out2)
131
133
 
132
134
 
133
135
  # License
136
+
134
137
  Licensed under either of
135
138
 
136
139
  - Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
137
140
  - MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
138
141
 
139
142
  at your option.
143
+
@@ -8,12 +8,14 @@ Python bindings to the `interpn` Rust library for N-dimensional interpolation an
8
8
  [Rust Docs (docs.rs)](https://docs.rs/interpn/latest/interpn/)
9
9
 
10
10
  ## Features
11
+
11
12
  | Feature →<br>↓ Interpolant Method | Regular<br>Grid | Rectilinear<br>Grid | Json<br>Serialization |
12
13
  |-----------------------------------|-----------------|---------------------|-----------------------|
13
14
  | Linear | ✅ | ✅ | ✅ |
14
15
  | Cubic | ✅ | ✅ | ✅ |
15
16
 
16
17
  The methods provided here, while more limited in scope than scipy's, are
18
+
17
19
  * significantly faster for higher dimensions (1-3 orders of magnitude under most conditions)
18
20
  * use almost no RAM (and perform no heap allocations at all)
19
21
  * produce significantly improved floating-point error (by 1-2 orders of magnitude)
@@ -100,9 +102,10 @@ assert np.all(out == out2)
100
102
 
101
103
 
102
104
  # License
105
+
103
106
  Licensed under either of
104
107
 
105
108
  - Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
106
109
  - MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
107
110
 
108
- at your option.
111
+ at your option.
@@ -19,6 +19,7 @@ effective when examining small numbers of observation points. See the [performan
19
19
  | Cubic | ✅ | ✅ | ✅ |
20
20
 
21
21
  The methods provided here, while more limited in scope than scipy's, are
22
+
22
23
  * significantly faster for higher dimensions (1-3 orders of magnitude under most conditions)
23
24
  * use almost no RAM (and perform no heap allocations at all)
24
25
  * produce significantly improved floating-point error (by 1-2 orders of magnitude)
@@ -102,3 +103,12 @@ out2 = roundtrip_interpolator.eval(obs)
102
103
  # Check result from roundtrip serialized/deserialized interpolator
103
104
  assert np.all(out == out2)
104
105
  ```
106
+
107
+ # License
108
+
109
+ Licensed under either of
110
+
111
+ - Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
112
+ - MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
113
+
114
+ at your option.
@@ -1,15 +1,15 @@
1
1
  [build-system]
2
- requires = ["maturin>=1.3,<2.0"]
2
+ requires = ["maturin>=1.7,<2.0"]
3
3
  build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "interpn"
7
- version = "0.2.1"
7
+ version = "0.2.2"
8
8
  repository = "https://github.com/jlogan03/interpnpy"
9
9
  documentation = "https://interpn.readthedocs.io/"
10
10
  description = "N-dimensional interpolation/extrapolation methods"
11
11
  authors = [{ author = "James Logan", email = "jlogan03@gmail.com" }]
12
- requires-python = ">=3.9, <3.12"
12
+ requires-python = ">=3.9, <3.13"
13
13
  classifiers = [
14
14
  "Programming Language :: Rust",
15
15
  "Programming Language :: Python :: Implementation :: CPython",
@@ -17,16 +17,16 @@ classifiers = [
17
17
  ]
18
18
  dynamic = ["version"]
19
19
  dependencies = [
20
- "numpy >= 1",
20
+ "numpy >= 2",
21
21
  "pydantic >= 2.5.2",
22
22
  ]
23
23
 
24
24
  [project.optional-dependencies]
25
25
  test = [
26
- "pytest >= 7.4.3",
26
+ "pytest >= 8.0",
27
27
  "coverage >= 7.3.2",
28
- "ruff >= 0.1.6",
29
- "pyright >= 1.1.337",
28
+ "ruff >= 0.4.10",
29
+ "pyright == 1.1.337",
30
30
  "mktestdocs >= 0.2.1",
31
31
  "scipy >= 1.11.4",
32
32
  "matplotlib >= 3.8",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes