tsdownsample 0.1.4.1__tar.gz → 0.1.5__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 (50) hide show
  1. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/ci-tsdownsample.yml +2 -2
  2. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/codspeed.yml +2 -2
  3. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/Cargo.lock +119 -58
  4. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/Cargo.toml +3 -2
  5. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/PKG-INFO +2 -1
  6. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/pyproject.toml +5 -2
  7. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/src/lib.rs +11 -11
  8. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_rust_mods.py +1 -2
  9. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/__init__.py +1 -1
  10. tsdownsample-0.1.5/tsdownsample/py.typed +1 -0
  11. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/FUNDING.yml +0 -0
  12. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/ci-downsample_rs.yml +0 -0
  13. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/codeql.yml +0 -0
  14. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.gitignore +0 -0
  15. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/CONTRIBUTING.md +0 -0
  16. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/LICENSE +0 -0
  17. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/Makefile +0 -0
  18. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/README.md +0 -0
  19. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/Cargo.toml +0 -0
  20. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/LICENSE +0 -0
  21. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/README.md +0 -0
  22. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_lttb.rs +0 -0
  23. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_m4.rs +0 -0
  24. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_minmax.rs +0 -0
  25. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_minmaxlttb.rs +0 -0
  26. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/results +0 -0
  27. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/helpers.rs +0 -0
  28. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/lib.rs +0 -0
  29. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/lttb.rs +0 -0
  30. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/m4.rs +0 -0
  31. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/minmax.rs +0 -0
  32. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/minmaxlttb.rs +0 -0
  33. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/searchsorted.rs +0 -0
  34. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/types.rs +0 -0
  35. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/notebooks/benches.ipynb +0 -0
  36. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/notebooks/downsample_times_processed.csv +0 -0
  37. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/notebooks/requirements.txt +0 -0
  38. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/rust-toolchain +0 -0
  39. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/benchmarks/__init__.py +0 -0
  40. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/benchmarks/test_downsamplers.py +0 -0
  41. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/requirements-linting.txt +0 -0
  42. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/requirements.txt +0 -0
  43. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_algos_python_compliance.py +0 -0
  44. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_config.py +0 -0
  45. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_tsdownsample.py +0 -0
  46. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/_python/__init__.py +0 -0
  47. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/_python/downsamplers.py +0 -0
  48. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/_rust/__init__.py +0 -0
  49. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/downsamplers.py +0 -0
  50. {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/downsampling_interface.py +0 -0
@@ -46,7 +46,7 @@ jobs:
46
46
  matrix:
47
47
  os: ['windows-latest', 'macOS-latest', 'ubuntu-latest']
48
48
  rust: ['nightly'] # ['stable', 'beta']
49
- python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', "3.13"]
49
+ python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
50
50
 
51
51
  env:
52
52
  PYTHON: ${{ matrix.python-version }}
@@ -155,7 +155,7 @@ jobs:
155
155
  target: ${{ matrix.target }}
156
156
  manylinux: ${{ matrix.manylinux || 'auto' }}
157
157
  container: ${{ matrix.container }}
158
- args: --release --out dist --interpreter ${{ matrix.interpreter || '3.8 3.9 3.10 3.11 3.12 3.13' }}
158
+ args: --release --out dist --interpreter ${{ matrix.interpreter || '3.8 3.9 3.10 3.11 3.12 3.13 3.14' }}
159
159
 
160
160
  - run: ${{ matrix.ls || 'ls -lh' }} dist/
161
161
 
@@ -13,7 +13,7 @@ jobs:
13
13
  Benchmarks:
14
14
  runs-on: ubuntu-latest
15
15
  steps:
16
- - uses: actions/checkout@v3
16
+ - uses: actions/checkout@v4
17
17
  - uses: actions/setup-python@v4
18
18
  with:
19
19
  python-version: '3.10'
@@ -43,6 +43,6 @@ jobs:
43
43
  # - run: rm tests/__init__.py
44
44
 
45
45
  - name: Run CodSpeed benchmarks
46
- uses: CodSpeedHQ/action@v2
46
+ uses: CodSpeedHQ/action@v3
47
47
  with:
48
48
  run: pytest tests/benchmarks/ --codspeed
@@ -4,9 +4,9 @@ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "argminmax"
7
- version = "0.6.2"
7
+ version = "0.6.3"
8
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "52424b59d69d69d5056d508b260553afd91c57e21849579cd1f50ee8b8b88eaa"
9
+ checksum = "70f13d10a41ac8d2ec79ee34178d61e6f47a29c2edfe7ef1721c7383b0359e65"
10
10
  dependencies = [
11
11
  "half",
12
12
  "num-traits",
@@ -14,15 +14,25 @@ dependencies = [
14
14
 
15
15
  [[package]]
16
16
  name = "autocfg"
17
- version = "1.4.0"
17
+ version = "1.5.1"
18
18
  source = "registry+https://github.com/rust-lang/crates.io-index"
19
- checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
19
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
20
+
21
+ [[package]]
22
+ name = "cc"
23
+ version = "1.2.63"
24
+ source = "registry+https://github.com/rust-lang/crates.io-index"
25
+ checksum = "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f"
26
+ dependencies = [
27
+ "find-msvc-tools",
28
+ "shlex",
29
+ ]
20
30
 
21
31
  [[package]]
22
32
  name = "cfg-if"
23
- version = "1.0.0"
33
+ version = "1.0.4"
24
34
  source = "registry+https://github.com/rust-lang/crates.io-index"
25
- checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
35
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
26
36
 
27
37
  [[package]]
28
38
  name = "crossbeam-deque"
@@ -51,9 +61,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
51
61
 
52
62
  [[package]]
53
63
  name = "crunchy"
54
- version = "0.2.3"
64
+ version = "0.2.4"
55
65
  source = "registry+https://github.com/rust-lang/crates.io-index"
56
- checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
66
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
57
67
 
58
68
  [[package]]
59
69
  name = "downsample_rs"
@@ -68,19 +78,26 @@ dependencies = [
68
78
 
69
79
  [[package]]
70
80
  name = "either"
71
- version = "1.13.0"
81
+ version = "1.16.0"
72
82
  source = "registry+https://github.com/rust-lang/crates.io-index"
73
- checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
83
+ checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
84
+
85
+ [[package]]
86
+ name = "find-msvc-tools"
87
+ version = "0.1.9"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
74
90
 
75
91
  [[package]]
76
92
  name = "half"
77
- version = "2.4.1"
93
+ version = "2.7.1"
78
94
  source = "registry+https://github.com/rust-lang/crates.io-index"
79
- checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
95
+ checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
80
96
  dependencies = [
81
97
  "cfg-if",
82
98
  "crunchy",
83
99
  "num-traits",
100
+ "zerocopy",
84
101
  ]
85
102
 
86
103
  [[package]]
@@ -91,27 +108,30 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
91
108
 
92
109
  [[package]]
93
110
  name = "indoc"
94
- version = "2.0.5"
111
+ version = "2.0.7"
95
112
  source = "registry+https://github.com/rust-lang/crates.io-index"
96
- checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
113
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
114
+ dependencies = [
115
+ "rustversion",
116
+ ]
97
117
 
98
118
  [[package]]
99
119
  name = "libc"
100
- version = "0.2.169"
120
+ version = "0.2.186"
101
121
  source = "registry+https://github.com/rust-lang/crates.io-index"
102
- checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
122
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
103
123
 
104
124
  [[package]]
105
125
  name = "libm"
106
- version = "0.2.11"
126
+ version = "0.2.16"
107
127
  source = "registry+https://github.com/rust-lang/crates.io-index"
108
- checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
128
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
109
129
 
110
130
  [[package]]
111
131
  name = "matrixmultiply"
112
- version = "0.3.9"
132
+ version = "0.3.10"
113
133
  source = "registry+https://github.com/rust-lang/crates.io-index"
114
- checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a"
134
+ checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
115
135
  dependencies = [
116
136
  "autocfg",
117
137
  "rawpointer",
@@ -171,9 +191,9 @@ dependencies = [
171
191
 
172
192
  [[package]]
173
193
  name = "numpy"
174
- version = "0.22.1"
194
+ version = "0.26.0"
175
195
  source = "registry+https://github.com/rust-lang/crates.io-index"
176
- checksum = "edb929bc0da91a4d85ed6c0a84deaa53d411abfb387fc271124f91bf6b89f14e"
196
+ checksum = "9b2dba356160b54f5371b550575b78130a54718b4c6e46b3f33a6da74a27e78b"
177
197
  dependencies = [
178
198
  "half",
179
199
  "libc",
@@ -182,14 +202,15 @@ dependencies = [
182
202
  "num-integer",
183
203
  "num-traits",
184
204
  "pyo3",
205
+ "pyo3-build-config",
185
206
  "rustc-hash",
186
207
  ]
187
208
 
188
209
  [[package]]
189
210
  name = "once_cell"
190
- version = "1.20.2"
211
+ version = "1.21.4"
191
212
  source = "registry+https://github.com/rust-lang/crates.io-index"
192
- checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
213
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
193
214
 
194
215
  [[package]]
195
216
  name = "paste"
@@ -199,35 +220,34 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
199
220
 
200
221
  [[package]]
201
222
  name = "portable-atomic"
202
- version = "1.10.0"
223
+ version = "1.13.1"
203
224
  source = "registry+https://github.com/rust-lang/crates.io-index"
204
- checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"
225
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
205
226
 
206
227
  [[package]]
207
228
  name = "portable-atomic-util"
208
- version = "0.2.4"
229
+ version = "0.2.7"
209
230
  source = "registry+https://github.com/rust-lang/crates.io-index"
210
- checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
231
+ checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618"
211
232
  dependencies = [
212
233
  "portable-atomic",
213
234
  ]
214
235
 
215
236
  [[package]]
216
237
  name = "proc-macro2"
217
- version = "1.0.93"
238
+ version = "1.0.106"
218
239
  source = "registry+https://github.com/rust-lang/crates.io-index"
219
- checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
240
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
220
241
  dependencies = [
221
242
  "unicode-ident",
222
243
  ]
223
244
 
224
245
  [[package]]
225
246
  name = "pyo3"
226
- version = "0.22.6"
247
+ version = "0.26.0"
227
248
  source = "registry+https://github.com/rust-lang/crates.io-index"
228
- checksum = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884"
249
+ checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383"
229
250
  dependencies = [
230
- "cfg-if",
231
251
  "indoc",
232
252
  "libc",
233
253
  "memoffset",
@@ -241,19 +261,19 @@ dependencies = [
241
261
 
242
262
  [[package]]
243
263
  name = "pyo3-build-config"
244
- version = "0.22.6"
264
+ version = "0.26.0"
245
265
  source = "registry+https://github.com/rust-lang/crates.io-index"
246
- checksum = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38"
266
+ checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
247
267
  dependencies = [
248
- "once_cell",
268
+ "python3-dll-a",
249
269
  "target-lexicon",
250
270
  ]
251
271
 
252
272
  [[package]]
253
273
  name = "pyo3-ffi"
254
- version = "0.22.6"
274
+ version = "0.26.0"
255
275
  source = "registry+https://github.com/rust-lang/crates.io-index"
256
- checksum = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636"
276
+ checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105"
257
277
  dependencies = [
258
278
  "libc",
259
279
  "pyo3-build-config",
@@ -261,9 +281,9 @@ dependencies = [
261
281
 
262
282
  [[package]]
263
283
  name = "pyo3-macros"
264
- version = "0.22.6"
284
+ version = "0.26.0"
265
285
  source = "registry+https://github.com/rust-lang/crates.io-index"
266
- checksum = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453"
286
+ checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded"
267
287
  dependencies = [
268
288
  "proc-macro2",
269
289
  "pyo3-macros-backend",
@@ -273,9 +293,9 @@ dependencies = [
273
293
 
274
294
  [[package]]
275
295
  name = "pyo3-macros-backend"
276
- version = "0.22.6"
296
+ version = "0.26.0"
277
297
  source = "registry+https://github.com/rust-lang/crates.io-index"
278
- checksum = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe"
298
+ checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf"
279
299
  dependencies = [
280
300
  "heck",
281
301
  "proc-macro2",
@@ -284,11 +304,20 @@ dependencies = [
284
304
  "syn",
285
305
  ]
286
306
 
307
+ [[package]]
308
+ name = "python3-dll-a"
309
+ version = "0.2.15"
310
+ source = "registry+https://github.com/rust-lang/crates.io-index"
311
+ checksum = "d80ba7540edb18890d444c5aa8e1f1f99b1bdf26fb26ae383135325f4a36042b"
312
+ dependencies = [
313
+ "cc",
314
+ ]
315
+
287
316
  [[package]]
288
317
  name = "quote"
289
- version = "1.0.38"
318
+ version = "1.0.45"
290
319
  source = "registry+https://github.com/rust-lang/crates.io-index"
291
- checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
320
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
292
321
  dependencies = [
293
322
  "proc-macro2",
294
323
  ]
@@ -301,9 +330,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
301
330
 
302
331
  [[package]]
303
332
  name = "rayon"
304
- version = "1.10.0"
333
+ version = "1.12.0"
305
334
  source = "registry+https://github.com/rust-lang/crates.io-index"
306
- checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
335
+ checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
307
336
  dependencies = [
308
337
  "either",
309
338
  "rayon-core",
@@ -311,9 +340,9 @@ dependencies = [
311
340
 
312
341
  [[package]]
313
342
  name = "rayon-core"
314
- version = "1.12.1"
343
+ version = "1.13.0"
315
344
  source = "registry+https://github.com/rust-lang/crates.io-index"
316
- checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
345
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
317
346
  dependencies = [
318
347
  "crossbeam-deque",
319
348
  "crossbeam-utils",
@@ -321,15 +350,27 @@ dependencies = [
321
350
 
322
351
  [[package]]
323
352
  name = "rustc-hash"
324
- version = "1.1.0"
353
+ version = "2.1.2"
354
+ source = "registry+https://github.com/rust-lang/crates.io-index"
355
+ checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
356
+
357
+ [[package]]
358
+ name = "rustversion"
359
+ version = "1.0.22"
325
360
  source = "registry+https://github.com/rust-lang/crates.io-index"
326
- checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
361
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
362
+
363
+ [[package]]
364
+ name = "shlex"
365
+ version = "2.0.1"
366
+ source = "registry+https://github.com/rust-lang/crates.io-index"
367
+ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
327
368
 
328
369
  [[package]]
329
370
  name = "syn"
330
- version = "2.0.96"
371
+ version = "2.0.117"
331
372
  source = "registry+https://github.com/rust-lang/crates.io-index"
332
- checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
373
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
333
374
  dependencies = [
334
375
  "proc-macro2",
335
376
  "quote",
@@ -338,9 +379,9 @@ dependencies = [
338
379
 
339
380
  [[package]]
340
381
  name = "target-lexicon"
341
- version = "0.12.16"
382
+ version = "0.13.5"
342
383
  source = "registry+https://github.com/rust-lang/crates.io-index"
343
- checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
384
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
344
385
 
345
386
  [[package]]
346
387
  name = "tsdownsample"
@@ -355,12 +396,32 @@ dependencies = [
355
396
 
356
397
  [[package]]
357
398
  name = "unicode-ident"
358
- version = "1.0.16"
399
+ version = "1.0.24"
359
400
  source = "registry+https://github.com/rust-lang/crates.io-index"
360
- checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
401
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
361
402
 
362
403
  [[package]]
363
404
  name = "unindent"
364
- version = "0.2.3"
405
+ version = "0.2.4"
406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
407
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
408
+
409
+ [[package]]
410
+ name = "zerocopy"
411
+ version = "0.8.50"
365
412
  source = "registry+https://github.com/rust-lang/crates.io-index"
366
- checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
413
+ checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1"
414
+ dependencies = [
415
+ "zerocopy-derive",
416
+ ]
417
+
418
+ [[package]]
419
+ name = "zerocopy-derive"
420
+ version = "0.8.50"
421
+ source = "registry+https://github.com/rust-lang/crates.io-index"
422
+ checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639"
423
+ dependencies = [
424
+ "proc-macro2",
425
+ "quote",
426
+ "syn",
427
+ ]
@@ -6,11 +6,12 @@ authors = ["Jeroen Van Der Donckt"]
6
6
  description = "Python bindings for time series downsampling algorithms"
7
7
  repository = "https://github.com/predict-idlab/tsdownsample"
8
8
  license = "MIT"
9
+ readme = "README.md"
9
10
 
10
11
  [dependencies]
11
12
  downsample_rs = { path = "downsample_rs", features = ["half"]}
12
- pyo3 = { version = "0.22", features = ["extension-module"] }
13
- numpy = { version = "0.22", features = ["half"] }
13
+ pyo3 = { version = "0.26", features = ["extension-module", "generate-import-lib"] }
14
+ numpy = { version = "0.26", features = ["half"] }
14
15
  half = { version = "2.3.1", default-features = false }
15
16
  paste = { version = "1.0.14", default-features = false }
16
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tsdownsample
3
- Version: 0.1.4.1
3
+ Version: 0.1.5
4
4
  Classifier: Intended Audience :: Developers
5
5
  Classifier: License :: OSI Approved :: MIT License
6
6
  Classifier: Programming Language :: Python :: 3
@@ -10,6 +10,7 @@ Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
13
14
  Classifier: Operating System :: POSIX
14
15
  Classifier: Operating System :: MacOS :: MacOS X
15
16
  Classifier: Operating System :: Microsoft :: Windows
@@ -5,7 +5,7 @@ build-backend = "maturin"
5
5
  [project]
6
6
  name = "tsdownsample"
7
7
  description = "Time series downsampling in rust"
8
- version = "0.1.4.1"
8
+ version = "0.1.5"
9
9
  requires-python = ">=3.8"
10
10
  dependencies = ["numpy"]
11
11
  authors = [{name = "Jeroen Van Der Donckt"}]
@@ -22,6 +22,7 @@ classifiers = [
22
22
  'Programming Language :: Python :: 3.11',
23
23
  'Programming Language :: Python :: 3.12',
24
24
  'Programming Language :: Python :: 3.13',
25
+ 'Programming Language :: Python :: 3.14',
25
26
  'Operating System :: POSIX',
26
27
  'Operating System :: MacOS :: MacOS X',
27
28
  'Operating System :: Microsoft :: Windows'
@@ -39,8 +40,10 @@ module-name = "tsdownsample._rust._tsdownsample_rs" # The path to place the comp
39
40
 
40
41
  # Linting
41
42
  [tool.ruff]
42
- select = ["E", "F", "I"]
43
43
  line-length = 88
44
+
45
+ [tool.ruff.lint]
46
+ select = ["E", "F", "I"]
44
47
  extend-select = ["Q"]
45
48
  ignore = ["E402", "F403"]
46
49
 
@@ -25,7 +25,7 @@ macro_rules! _create_pyfunc_without_x {
25
25
  ) -> Bound<'py, PyArray1<usize>> {
26
26
  let y = y.as_slice().unwrap();
27
27
  let sampled_indices = $resample_mod::$resample_fn(y, n_out);
28
- sampled_indices.into_pyarray_bound(py)
28
+ sampled_indices.into_pyarray(py)
29
29
  }
30
30
  // Add the function to the module
31
31
  $mod.add_wrapped(wrap_pyfunction!($name))?;
@@ -44,7 +44,7 @@ macro_rules! _create_pyfunc_without_x_with_ratio {
44
44
  ) -> Bound<'py, PyArray1<usize>> {
45
45
  let y = y.as_slice().unwrap();
46
46
  let sampled_indices = $resample_mod::$resample_fn(y, n_out, ratio);
47
- sampled_indices.into_pyarray_bound(py)
47
+ sampled_indices.into_pyarray(py)
48
48
  }
49
49
  // Add the function to the module
50
50
  $mod.add_wrapped(wrap_pyfunction!($name))?;
@@ -84,7 +84,7 @@ macro_rules! _create_pyfunc_with_x {
84
84
  let x = x.as_slice().unwrap();
85
85
  let y = y.as_slice().unwrap();
86
86
  let sampled_indices = $resample_mod::$resample_fn(x, y, n_out);
87
- sampled_indices.into_pyarray_bound(py)
87
+ sampled_indices.into_pyarray(py)
88
88
  }
89
89
  // Add the function to the module
90
90
  $mod.add_wrapped(wrap_pyfunction!($name))?;
@@ -105,7 +105,7 @@ macro_rules! _create_pyfunc_with_x_with_ratio {
105
105
  let x = x.as_slice().unwrap();
106
106
  let y = y.as_slice().unwrap();
107
107
  let sampled_indices = $resample_mod::$resample_fn(x, y, n_out, ratio);
108
- sampled_indices.into_pyarray_bound(py)
108
+ sampled_indices.into_pyarray(py)
109
109
  }
110
110
  // Add the function to the module
111
111
  $mod.add_wrapped(wrap_pyfunction!($name))?;
@@ -258,7 +258,7 @@ use downsample_rs::minmax as minmax_mod;
258
258
  fn minmax(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
259
259
  // ----------------- SEQUENTIAL
260
260
 
261
- let sequential_mod = PyModule::new_bound(_py, "sequential")?;
261
+ let sequential_mod = PyModule::new(_py, "sequential")?;
262
262
 
263
263
  // ----- WITHOUT X
264
264
  {
@@ -274,7 +274,7 @@ fn minmax(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
274
274
 
275
275
  // ----------------- PARALLEL
276
276
 
277
- let parallel_mod = PyModule::new_bound(_py, "parallel")?;
277
+ let parallel_mod = PyModule::new(_py, "parallel")?;
278
278
 
279
279
  // ----- WITHOUT X
280
280
  {
@@ -304,7 +304,7 @@ use downsample_rs::m4 as m4_mod;
304
304
  fn m4(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> {
305
305
  // ----------------- SEQUENTIAL
306
306
 
307
- let sequential_mod = PyModule::new_bound(_py, "sequential")?;
307
+ let sequential_mod = PyModule::new(_py, "sequential")?;
308
308
 
309
309
  // ----- WITHOUT X
310
310
  {
@@ -320,7 +320,7 @@ fn m4(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> {
320
320
 
321
321
  // ----------------- PARALLEL
322
322
 
323
- let parallel_mod = PyModule::new_bound(_py, "parallel")?;
323
+ let parallel_mod = PyModule::new(_py, "parallel")?;
324
324
 
325
325
  // ----- WITHOUT X
326
326
  {
@@ -350,7 +350,7 @@ use downsample_rs::lttb as lttb_mod;
350
350
  fn lttb(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> {
351
351
  // ----------------- SEQUENTIAL
352
352
 
353
- let sequential_mod = PyModule::new_bound(_py, "sequential")?;
353
+ let sequential_mod = PyModule::new(_py, "sequential")?;
354
354
 
355
355
  // Create the Python functions for the module
356
356
  // ----- WITHOUT X
@@ -378,7 +378,7 @@ use downsample_rs::minmaxlttb as minmaxlttb_mod;
378
378
  fn minmaxlttb(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> {
379
379
  // ----------------- SEQUENTIAL
380
380
 
381
- let sequential_mod = PyModule::new_bound(_py, "sequential")?;
381
+ let sequential_mod = PyModule::new(_py, "sequential")?;
382
382
 
383
383
  // ----- WITHOUT X
384
384
  {
@@ -394,7 +394,7 @@ fn minmaxlttb(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> {
394
394
 
395
395
  // ----------------- PARALLEL
396
396
 
397
- let parallel_mod = PyModule::new_bound(_py, "parallel")?;
397
+ let parallel_mod = PyModule::new(_py, "parallel")?;
398
398
 
399
399
  // ----- WITHOUT X
400
400
  {
@@ -1,11 +1,10 @@
1
+ import tsdownsample._rust._tsdownsample_rs as tsds_rs
1
2
  from test_config import (
2
3
  rust_primitive_types_x,
3
4
  rust_primitive_types_y,
4
5
  rust_primitive_types_y_nan,
5
6
  )
6
7
 
7
- import tsdownsample._rust._tsdownsample_rs as tsds_rs
8
-
9
8
 
10
9
  def _test_rust_mod_correctly_build(mod, sub_mods, has_x_impl: bool):
11
10
  # Without x
@@ -11,7 +11,7 @@ from .downsamplers import (
11
11
  NaNMinMaxLTTBDownsampler,
12
12
  )
13
13
 
14
- __version__ = "0.1.4.1"
14
+ __version__ = "0.1.5"
15
15
  __author__ = "Jeroen Van Der Donckt"
16
16
 
17
17
  __all__ = [
@@ -0,0 +1 @@
1
+
File without changes
File without changes
File without changes
File without changes