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.
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/ci-tsdownsample.yml +2 -2
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/codspeed.yml +2 -2
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/Cargo.lock +119 -58
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/Cargo.toml +3 -2
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/PKG-INFO +2 -1
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/pyproject.toml +5 -2
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/src/lib.rs +11 -11
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_rust_mods.py +1 -2
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/__init__.py +1 -1
- tsdownsample-0.1.5/tsdownsample/py.typed +1 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/FUNDING.yml +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/ci-downsample_rs.yml +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.github/workflows/codeql.yml +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/.gitignore +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/CONTRIBUTING.md +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/LICENSE +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/Makefile +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/README.md +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/Cargo.toml +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/LICENSE +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/README.md +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_lttb.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_m4.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_minmax.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/bench_minmaxlttb.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/benches/results +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/helpers.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/lib.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/lttb.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/m4.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/minmax.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/minmaxlttb.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/searchsorted.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/downsample_rs/src/types.rs +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/notebooks/benches.ipynb +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/notebooks/downsample_times_processed.csv +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/notebooks/requirements.txt +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/rust-toolchain +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/benchmarks/__init__.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/benchmarks/test_downsamplers.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/requirements-linting.txt +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/requirements.txt +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_algos_python_compliance.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_config.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tests/test_tsdownsample.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/_python/__init__.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/_python/downsamplers.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/_rust/__init__.py +0 -0
- {tsdownsample-0.1.4.1 → tsdownsample-0.1.5}/tsdownsample/downsamplers.py +0 -0
- {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',
|
|
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@
|
|
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@
|
|
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.
|
|
7
|
+
version = "0.6.3"
|
|
8
8
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
-
checksum = "
|
|
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.
|
|
17
|
+
version = "1.5.1"
|
|
18
18
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
19
|
-
checksum = "
|
|
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.
|
|
33
|
+
version = "1.0.4"
|
|
24
34
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
25
|
-
checksum = "
|
|
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.
|
|
64
|
+
version = "0.2.4"
|
|
55
65
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
56
|
-
checksum = "
|
|
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.
|
|
81
|
+
version = "1.16.0"
|
|
72
82
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
73
|
-
checksum = "
|
|
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.
|
|
93
|
+
version = "2.7.1"
|
|
78
94
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
79
|
-
checksum = "
|
|
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.
|
|
111
|
+
version = "2.0.7"
|
|
95
112
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
96
|
-
checksum = "
|
|
113
|
+
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
|
|
114
|
+
dependencies = [
|
|
115
|
+
"rustversion",
|
|
116
|
+
]
|
|
97
117
|
|
|
98
118
|
[[package]]
|
|
99
119
|
name = "libc"
|
|
100
|
-
version = "0.2.
|
|
120
|
+
version = "0.2.186"
|
|
101
121
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
102
|
-
checksum = "
|
|
122
|
+
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
|
103
123
|
|
|
104
124
|
[[package]]
|
|
105
125
|
name = "libm"
|
|
106
|
-
version = "0.2.
|
|
126
|
+
version = "0.2.16"
|
|
107
127
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
108
|
-
checksum = "
|
|
128
|
+
checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
|
|
109
129
|
|
|
110
130
|
[[package]]
|
|
111
131
|
name = "matrixmultiply"
|
|
112
|
-
version = "0.3.
|
|
132
|
+
version = "0.3.10"
|
|
113
133
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
114
|
-
checksum = "
|
|
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.
|
|
194
|
+
version = "0.26.0"
|
|
175
195
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
176
|
-
checksum = "
|
|
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.
|
|
211
|
+
version = "1.21.4"
|
|
191
212
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
192
|
-
checksum = "
|
|
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.
|
|
223
|
+
version = "1.13.1"
|
|
203
224
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
204
|
-
checksum = "
|
|
225
|
+
checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
|
|
205
226
|
|
|
206
227
|
[[package]]
|
|
207
228
|
name = "portable-atomic-util"
|
|
208
|
-
version = "0.2.
|
|
229
|
+
version = "0.2.7"
|
|
209
230
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
210
|
-
checksum = "
|
|
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.
|
|
238
|
+
version = "1.0.106"
|
|
218
239
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
219
|
-
checksum = "
|
|
240
|
+
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
|
220
241
|
dependencies = [
|
|
221
242
|
"unicode-ident",
|
|
222
243
|
]
|
|
223
244
|
|
|
224
245
|
[[package]]
|
|
225
246
|
name = "pyo3"
|
|
226
|
-
version = "0.
|
|
247
|
+
version = "0.26.0"
|
|
227
248
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
228
|
-
checksum = "
|
|
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.
|
|
264
|
+
version = "0.26.0"
|
|
245
265
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
246
|
-
checksum = "
|
|
266
|
+
checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
|
|
247
267
|
dependencies = [
|
|
248
|
-
"
|
|
268
|
+
"python3-dll-a",
|
|
249
269
|
"target-lexicon",
|
|
250
270
|
]
|
|
251
271
|
|
|
252
272
|
[[package]]
|
|
253
273
|
name = "pyo3-ffi"
|
|
254
|
-
version = "0.
|
|
274
|
+
version = "0.26.0"
|
|
255
275
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
256
|
-
checksum = "
|
|
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.
|
|
284
|
+
version = "0.26.0"
|
|
265
285
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
266
|
-
checksum = "
|
|
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.
|
|
296
|
+
version = "0.26.0"
|
|
277
297
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
278
|
-
checksum = "
|
|
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.
|
|
318
|
+
version = "1.0.45"
|
|
290
319
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
291
|
-
checksum = "
|
|
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.
|
|
333
|
+
version = "1.12.0"
|
|
305
334
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
306
|
-
checksum = "
|
|
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.
|
|
343
|
+
version = "1.13.0"
|
|
315
344
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
316
|
-
checksum = "
|
|
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 = "
|
|
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 = "
|
|
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.
|
|
371
|
+
version = "2.0.117"
|
|
331
372
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
332
|
-
checksum = "
|
|
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.
|
|
382
|
+
version = "0.13.5"
|
|
342
383
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
343
|
-
checksum = "
|
|
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.
|
|
399
|
+
version = "1.0.24"
|
|
359
400
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
360
|
-
checksum = "
|
|
401
|
+
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
361
402
|
|
|
362
403
|
[[package]]
|
|
363
404
|
name = "unindent"
|
|
364
|
-
version = "0.2.
|
|
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 = "
|
|
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.
|
|
13
|
-
numpy = { version = "0.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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::
|
|
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::
|
|
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::
|
|
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::
|
|
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::
|
|
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::
|
|
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::
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
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
|
|
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
|
|
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
|