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.
- fastlowess-0.1.0/.pytest_cache/README.md +8 -0
- fastlowess-0.1.0/CHANGELOG.md +12 -0
- fastlowess-0.1.0/Cargo.lock +342 -0
- fastlowess-0.1.0/Cargo.toml +52 -0
- fastlowess-0.1.0/LICENSE +69 -0
- fastlowess-0.1.0/PKG-INFO +420 -0
- fastlowess-0.1.0/README.md +392 -0
- fastlowess-0.1.0/docs/source/_static/images/confidence_vs_prediction_intervals.svg +107 -0
- fastlowess-0.1.0/docs/source/_static/images/fraction_effect_comparison.svg +185 -0
- fastlowess-0.1.0/docs/source/_static/images/lowess_smoothing_concept.svg +88 -0
- fastlowess-0.1.0/docs/source/_static/images/robust_vs_standard_lowess.svg +147 -0
- fastlowess-0.1.0/fastLowess/__init__.py +396 -0
- fastlowess-0.1.0/fastLowess/__version__.py +1 -0
- fastlowess-0.1.0/fastLowess/py.typed +1 -0
- fastlowess-0.1.0/pyproject.toml +45 -0
- fastlowess-0.1.0/src/lib.rs +615 -0
|
@@ -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"]
|
fastlowess-0.1.0/LICENSE
ADDED
|
@@ -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
|
+
================================================================================
|