fastlowess 0.1.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.
@@ -0,0 +1,8 @@
1
+ # pytest cache directory #
2
+
3
+ This directory contains data from the pytest's cache plugin,
4
+ which provides the `--lf` and `--ff` options, as well as the `cache` fixture.
5
+
6
+ **Do not** commit this to version control.
7
+
8
+ See [the docs](https://docs.pytest.org/en/stable/how-to/cache.html) for more information.
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+ All notable changes to this package will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.1.0]
9
+
10
+ ### Added
11
+
12
+ - Added the python binding for `fastLowess`.
@@ -0,0 +1,342 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "autocfg"
7
+ version = "1.5.0"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
10
+
11
+ [[package]]
12
+ name = "crossbeam-deque"
13
+ version = "0.8.6"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
16
+ dependencies = [
17
+ "crossbeam-epoch",
18
+ "crossbeam-utils",
19
+ ]
20
+
21
+ [[package]]
22
+ name = "crossbeam-epoch"
23
+ version = "0.9.18"
24
+ source = "registry+https://github.com/rust-lang/crates.io-index"
25
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
26
+ dependencies = [
27
+ "crossbeam-utils",
28
+ ]
29
+
30
+ [[package]]
31
+ name = "crossbeam-utils"
32
+ version = "0.8.21"
33
+ source = "registry+https://github.com/rust-lang/crates.io-index"
34
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
35
+
36
+ [[package]]
37
+ name = "either"
38
+ version = "1.15.0"
39
+ source = "registry+https://github.com/rust-lang/crates.io-index"
40
+ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
41
+
42
+ [[package]]
43
+ name = "fastLowess"
44
+ version = "0.1.0"
45
+ source = "registry+https://github.com/rust-lang/crates.io-index"
46
+ checksum = "6f2597f18b76e0e7e82ebb008b092da128307c1fee7251983e77f15cfed8bafc"
47
+ dependencies = [
48
+ "lowess",
49
+ "ndarray",
50
+ "num-traits",
51
+ "rayon",
52
+ ]
53
+
54
+ [[package]]
55
+ name = "fastLowess-py"
56
+ version = "0.1.0"
57
+ dependencies = [
58
+ "fastLowess",
59
+ "numpy",
60
+ "pyo3",
61
+ ]
62
+
63
+ [[package]]
64
+ name = "heck"
65
+ version = "0.5.0"
66
+ source = "registry+https://github.com/rust-lang/crates.io-index"
67
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
68
+
69
+ [[package]]
70
+ name = "indoc"
71
+ version = "2.0.7"
72
+ source = "registry+https://github.com/rust-lang/crates.io-index"
73
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
74
+ dependencies = [
75
+ "rustversion",
76
+ ]
77
+
78
+ [[package]]
79
+ name = "libc"
80
+ version = "0.2.178"
81
+ source = "registry+https://github.com/rust-lang/crates.io-index"
82
+ checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
83
+
84
+ [[package]]
85
+ name = "libm"
86
+ version = "0.2.15"
87
+ source = "registry+https://github.com/rust-lang/crates.io-index"
88
+ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
89
+
90
+ [[package]]
91
+ name = "lowess"
92
+ version = "0.4.1"
93
+ source = "registry+https://github.com/rust-lang/crates.io-index"
94
+ checksum = "f7174df894be3ec1370493cb7fab2c07330ea9914aeabcecaebfd263fc8220a3"
95
+ dependencies = [
96
+ "num-traits",
97
+ ]
98
+
99
+ [[package]]
100
+ name = "matrixmultiply"
101
+ version = "0.3.10"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
104
+ dependencies = [
105
+ "autocfg",
106
+ "rawpointer",
107
+ ]
108
+
109
+ [[package]]
110
+ name = "memoffset"
111
+ version = "0.9.1"
112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
113
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
114
+ dependencies = [
115
+ "autocfg",
116
+ ]
117
+
118
+ [[package]]
119
+ name = "ndarray"
120
+ version = "0.17.1"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "0c7c9125e8f6f10c9da3aad044cc918cf8784fa34de857b1aa68038eb05a50a9"
123
+ dependencies = [
124
+ "matrixmultiply",
125
+ "num-complex",
126
+ "num-integer",
127
+ "num-traits",
128
+ "portable-atomic",
129
+ "portable-atomic-util",
130
+ "rawpointer",
131
+ ]
132
+
133
+ [[package]]
134
+ name = "num-complex"
135
+ version = "0.4.6"
136
+ source = "registry+https://github.com/rust-lang/crates.io-index"
137
+ checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
138
+ dependencies = [
139
+ "num-traits",
140
+ ]
141
+
142
+ [[package]]
143
+ name = "num-integer"
144
+ version = "0.1.46"
145
+ source = "registry+https://github.com/rust-lang/crates.io-index"
146
+ checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
147
+ dependencies = [
148
+ "num-traits",
149
+ ]
150
+
151
+ [[package]]
152
+ name = "num-traits"
153
+ version = "0.2.19"
154
+ source = "registry+https://github.com/rust-lang/crates.io-index"
155
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
156
+ dependencies = [
157
+ "autocfg",
158
+ "libm",
159
+ ]
160
+
161
+ [[package]]
162
+ name = "numpy"
163
+ version = "0.27.1"
164
+ source = "registry+https://github.com/rust-lang/crates.io-index"
165
+ checksum = "7aac2e6a6e4468ffa092ad43c39b81c79196c2bb773b8db4085f695efe3bba17"
166
+ dependencies = [
167
+ "libc",
168
+ "ndarray",
169
+ "num-complex",
170
+ "num-integer",
171
+ "num-traits",
172
+ "pyo3",
173
+ "pyo3-build-config",
174
+ "rustc-hash",
175
+ ]
176
+
177
+ [[package]]
178
+ name = "once_cell"
179
+ version = "1.21.3"
180
+ source = "registry+https://github.com/rust-lang/crates.io-index"
181
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
182
+
183
+ [[package]]
184
+ name = "portable-atomic"
185
+ version = "1.11.1"
186
+ source = "registry+https://github.com/rust-lang/crates.io-index"
187
+ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
188
+
189
+ [[package]]
190
+ name = "portable-atomic-util"
191
+ version = "0.2.4"
192
+ source = "registry+https://github.com/rust-lang/crates.io-index"
193
+ checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
194
+ dependencies = [
195
+ "portable-atomic",
196
+ ]
197
+
198
+ [[package]]
199
+ name = "proc-macro2"
200
+ version = "1.0.103"
201
+ source = "registry+https://github.com/rust-lang/crates.io-index"
202
+ checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
203
+ dependencies = [
204
+ "unicode-ident",
205
+ ]
206
+
207
+ [[package]]
208
+ name = "pyo3"
209
+ version = "0.27.2"
210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
211
+ checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
212
+ dependencies = [
213
+ "indoc",
214
+ "libc",
215
+ "memoffset",
216
+ "once_cell",
217
+ "portable-atomic",
218
+ "pyo3-build-config",
219
+ "pyo3-ffi",
220
+ "pyo3-macros",
221
+ "unindent",
222
+ ]
223
+
224
+ [[package]]
225
+ name = "pyo3-build-config"
226
+ version = "0.27.2"
227
+ source = "registry+https://github.com/rust-lang/crates.io-index"
228
+ checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
229
+ dependencies = [
230
+ "target-lexicon",
231
+ ]
232
+
233
+ [[package]]
234
+ name = "pyo3-ffi"
235
+ version = "0.27.2"
236
+ source = "registry+https://github.com/rust-lang/crates.io-index"
237
+ checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
238
+ dependencies = [
239
+ "libc",
240
+ "pyo3-build-config",
241
+ ]
242
+
243
+ [[package]]
244
+ name = "pyo3-macros"
245
+ version = "0.27.2"
246
+ source = "registry+https://github.com/rust-lang/crates.io-index"
247
+ checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
248
+ dependencies = [
249
+ "proc-macro2",
250
+ "pyo3-macros-backend",
251
+ "quote",
252
+ "syn",
253
+ ]
254
+
255
+ [[package]]
256
+ name = "pyo3-macros-backend"
257
+ version = "0.27.2"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
260
+ dependencies = [
261
+ "heck",
262
+ "proc-macro2",
263
+ "pyo3-build-config",
264
+ "quote",
265
+ "syn",
266
+ ]
267
+
268
+ [[package]]
269
+ name = "quote"
270
+ version = "1.0.42"
271
+ source = "registry+https://github.com/rust-lang/crates.io-index"
272
+ checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
273
+ dependencies = [
274
+ "proc-macro2",
275
+ ]
276
+
277
+ [[package]]
278
+ name = "rawpointer"
279
+ version = "0.2.1"
280
+ source = "registry+https://github.com/rust-lang/crates.io-index"
281
+ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
282
+
283
+ [[package]]
284
+ name = "rayon"
285
+ version = "1.11.0"
286
+ source = "registry+https://github.com/rust-lang/crates.io-index"
287
+ checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
288
+ dependencies = [
289
+ "either",
290
+ "rayon-core",
291
+ ]
292
+
293
+ [[package]]
294
+ name = "rayon-core"
295
+ version = "1.13.0"
296
+ source = "registry+https://github.com/rust-lang/crates.io-index"
297
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
298
+ dependencies = [
299
+ "crossbeam-deque",
300
+ "crossbeam-utils",
301
+ ]
302
+
303
+ [[package]]
304
+ name = "rustc-hash"
305
+ version = "2.1.1"
306
+ source = "registry+https://github.com/rust-lang/crates.io-index"
307
+ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
308
+
309
+ [[package]]
310
+ name = "rustversion"
311
+ version = "1.0.22"
312
+ source = "registry+https://github.com/rust-lang/crates.io-index"
313
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
314
+
315
+ [[package]]
316
+ name = "syn"
317
+ version = "2.0.111"
318
+ source = "registry+https://github.com/rust-lang/crates.io-index"
319
+ checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
320
+ dependencies = [
321
+ "proc-macro2",
322
+ "quote",
323
+ "unicode-ident",
324
+ ]
325
+
326
+ [[package]]
327
+ name = "target-lexicon"
328
+ version = "0.13.3"
329
+ source = "registry+https://github.com/rust-lang/crates.io-index"
330
+ checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
331
+
332
+ [[package]]
333
+ name = "unicode-ident"
334
+ version = "1.0.22"
335
+ source = "registry+https://github.com/rust-lang/crates.io-index"
336
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
337
+
338
+ [[package]]
339
+ name = "unindent"
340
+ version = "0.2.4"
341
+ source = "registry+https://github.com/rust-lang/crates.io-index"
342
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
@@ -0,0 +1,52 @@
1
+ [package]
2
+ name = "fastLowess-py"
3
+ version = "0.1.0"
4
+ edition = "2024"
5
+ rust-version = "1.85.0"
6
+
7
+ # Metadata
8
+ description = "High-level, fast LOWESS smoothing built on top of the fastLowess Rust crate."
9
+ authors = ["Amir Valizadeh <thisisamirv@gmail.com>"]
10
+ license = "AGPL-3.0-or-later"
11
+ readme = "README.md"
12
+
13
+ # Links
14
+ repository = "https://github.com/thisisamirv/fastLowess-py"
15
+ homepage = "https://github.com/thisisamirv/fastLowess-py"
16
+
17
+ # Categories
18
+ keywords = ["lowess", "smoothing", "statistics", "regression", "bioinformatics"]
19
+ categories = ["science", "algorithms"]
20
+
21
+ include = [
22
+ "src/**/*",
23
+ "docs/**/*.svg",
24
+ "fastLowess/**/*",
25
+ "Cargo.toml",
26
+ "README.md",
27
+ "LICENSE",
28
+ "CHANGELOG.md",
29
+ ] # Build
30
+
31
+ [dependencies]
32
+ fastLowess = { version = "0.1.0", features = ["dev"] }
33
+ pyo3 = { version = "0.27", features = ["extension-module"] }
34
+ numpy = "0.27"
35
+
36
+ [lib]
37
+ name = "fastLowess"
38
+ crate-type = ["cdylib"]
39
+
40
+ [features]
41
+ default = []
42
+ dev = []
43
+
44
+ [profile.release]
45
+ opt-level = 3
46
+ lto = true
47
+ codegen-units = 1
48
+
49
+ # Document all features
50
+ [package.metadata.docs.rs]
51
+ all-features = true
52
+ rustdoc-args = ["--cfg", "docsrs"]
@@ -0,0 +1,69 @@
1
+ DUAL LICENSE
2
+
3
+ Copyright (c) 2025 Amir Valizadeh
4
+
5
+ This software is dual-licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) and a Commercial License.
6
+
7
+ ================================================================================
8
+ OPTION 1: AGPL-3.0 (Open Source)
9
+ ================================================================================
10
+
11
+ This program is free software: you can redistribute it and/or modify it under
12
+ the terms of the GNU Affero General Public License as published by the Free
13
+ Software Foundation, either version 3 of the License, or (at your option) any
14
+ later version.
15
+
16
+ This program is distributed in the hope that it will be useful, but WITHOUT
17
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18
+ FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
19
+ details.
20
+
21
+ You should have received a copy of the GNU Affero General Public License along
22
+ with this program. If not, see <https://www.gnu.org/licenses/>.
23
+
24
+ IMPORTANT AGPL-3.0 REQUIREMENTS:
25
+
26
+ - If you modify this software and use it to provide a network service, you MUST
27
+ make the complete source code of your modified version available to users of
28
+ that service.
29
+ - Any derivative works must also be licensed under AGPL-3.0.
30
+ - You must preserve all copyright and license notices.
31
+
32
+ Full AGPL-3.0 license text: <https://www.gnu.org/licenses/agpl-3.0.txt>
33
+
34
+ ================================================================================
35
+ OPTION 2: Commercial License
36
+ ================================================================================
37
+
38
+ If you wish to use this software in a proprietary application or service without
39
+ the AGPL-3.0 requirements (such as disclosing your source code), you must obtain
40
+ a commercial license.
41
+
42
+ A commercial license grants you the right to:
43
+
44
+ - Use the software in closed-source/proprietary applications
45
+ - Modify the software without releasing your changes
46
+ - Distribute the software as part of your proprietary product
47
+ - Use the software in network services without source disclosure
48
+
49
+ For commercial licensing inquiries, please contact:
50
+ Email: <thisisamirv@gmail.com>
51
+ Subject: fastLowess-py Commercial License Inquiry
52
+
53
+ ================================================================================
54
+ CHOOSING A LICENSE
55
+ ================================================================================
56
+
57
+ You may choose either license option:
58
+
59
+ 1. Use under AGPL-3.0 if you are creating open-source software and can comply
60
+ with the AGPL-3.0 requirements (including source code disclosure for network
61
+ services).
62
+
63
+ 2. Obtain a commercial license if you need to use this software in proprietary
64
+ applications or cannot comply with AGPL-3.0 requirements.
65
+
66
+ Using this software under AGPL-3.0 without complying with its terms, or using
67
+ it commercially without a commercial license, constitutes copyright infringement.
68
+
69
+ ================================================================================