tsdownsample 0.1.2a1__tar.gz → 0.1.3__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 (75) hide show
  1. tsdownsample-0.1.3/.github/FUNDING.yml +3 -0
  2. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/.github/workflows/ci-downsample_rs.yml +25 -18
  3. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/.github/workflows/ci-tsdownsample.yml +4 -4
  4. tsdownsample-0.1.3/.github/workflows/codeql.yml +52 -0
  5. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/.github/workflows/codspeed.yml +1 -1
  6. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/.gitignore +1 -0
  7. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/Cargo.lock +92 -133
  8. tsdownsample-0.1.3/Cargo.toml +19 -0
  9. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/PKG-INFO +37 -16
  10. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/README.md +34 -14
  11. tsdownsample-0.1.3/downsample_rs/Cargo.toml +37 -0
  12. {tsdownsample-0.1.2a1/local_dependencies → tsdownsample-0.1.3}/downsample_rs/benches/bench_lttb.rs +18 -7
  13. tsdownsample-0.1.3/downsample_rs/benches/bench_m4.rs +80 -0
  14. tsdownsample-0.1.3/downsample_rs/benches/bench_minmax.rs +98 -0
  15. tsdownsample-0.1.3/downsample_rs/benches/bench_minmaxlttb.rs +110 -0
  16. tsdownsample-0.1.3/downsample_rs/dev_utils/Cargo.toml +10 -0
  17. tsdownsample-0.1.3/downsample_rs/dev_utils/src/config.rs +4 -0
  18. tsdownsample-0.1.3/downsample_rs/dev_utils/src/lib.rs +4 -0
  19. tsdownsample-0.1.3/downsample_rs/dev_utils/src/utils.rs +35 -0
  20. {tsdownsample-0.1.2a1/local_dependencies → tsdownsample-0.1.3}/downsample_rs/src/helpers.rs +10 -34
  21. tsdownsample-0.1.3/downsample_rs/src/lib.rs +35 -0
  22. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/lttb/scalar.rs → tsdownsample-0.1.3/downsample_rs/src/lttb.rs +34 -56
  23. tsdownsample-0.1.3/downsample_rs/src/m4.rs +453 -0
  24. tsdownsample-0.1.3/downsample_rs/src/minmax.rs +434 -0
  25. tsdownsample-0.1.3/downsample_rs/src/minmaxlttb.rs +273 -0
  26. {tsdownsample-0.1.2a1/local_dependencies → tsdownsample-0.1.3}/downsample_rs/src/searchsorted.rs +69 -95
  27. tsdownsample-0.1.3/notebooks/benches.ipynb +1147 -0
  28. tsdownsample-0.1.3/notebooks/downsample_times_processed.csv +881 -0
  29. tsdownsample-0.1.3/notebooks/requirements.txt +3 -0
  30. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/pyproject.toml +6 -3
  31. tsdownsample-0.1.3/rust-toolchain +1 -0
  32. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/src/lib.rs +154 -170
  33. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tests/benchmarks/test_downsamplers.py +103 -0
  34. tsdownsample-0.1.3/tests/test_algos_python_compliance.py +69 -0
  35. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tests/test_config.py +1 -0
  36. tsdownsample-0.1.3/tests/test_rust_mods.py +71 -0
  37. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tests/test_tsdownsample.py +100 -8
  38. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tsdownsample/__init__.py +7 -1
  39. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tsdownsample/_python/downsamplers.py +67 -3
  40. tsdownsample-0.1.3/tsdownsample/downsamplers.py +158 -0
  41. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tsdownsample/downsampling_interface.py +132 -65
  42. tsdownsample-0.1.2a1/Cargo.toml +0 -24
  43. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/Cargo.toml +0 -32
  44. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/benches/bench_m4.rs +0 -111
  45. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/benches/bench_minmax.rs +0 -145
  46. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/benches/bench_minmaxlttb.rs +0 -169
  47. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/lib.rs +0 -11
  48. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/lttb/mod.rs +0 -2
  49. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/m4/generic.rs +0 -200
  50. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/m4/mod.rs +0 -5
  51. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/m4/scalar.rs +0 -254
  52. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/m4/simd.rs +0 -249
  53. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmax/generic.rs +0 -182
  54. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmax/mod.rs +0 -5
  55. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmax/scalar.rs +0 -254
  56. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmax/simd.rs +0 -254
  57. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmaxlttb/generic.rs +0 -76
  58. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmaxlttb/mod.rs +0 -5
  59. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmaxlttb/scalar.rs +0 -145
  60. tsdownsample-0.1.2a1/local_dependencies/downsample_rs/src/minmaxlttb/simd.rs +0 -145
  61. tsdownsample-0.1.2a1/tests/test_algos_python_compliance.py +0 -31
  62. tsdownsample-0.1.2a1/tests/test_rust_mods.py +0 -45
  63. tsdownsample-0.1.2a1/tsdownsample/downsamplers.py +0 -70
  64. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/CONTRIBUTING.md +0 -0
  65. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/LICENSE +0 -0
  66. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/Makefile +0 -0
  67. {tsdownsample-0.1.2a1/local_dependencies → tsdownsample-0.1.3}/downsample_rs/LICENSE +0 -0
  68. {tsdownsample-0.1.2a1/local_dependencies → tsdownsample-0.1.3}/downsample_rs/README.md +0 -0
  69. {tsdownsample-0.1.2a1/local_dependencies → tsdownsample-0.1.3}/downsample_rs/benches/results +0 -0
  70. {tsdownsample-0.1.2a1/local_dependencies → tsdownsample-0.1.3}/downsample_rs/src/types.rs +0 -0
  71. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tests/benchmarks/__init__.py +0 -0
  72. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tests/requirements-linting.txt +0 -0
  73. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tests/requirements.txt +0 -0
  74. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tsdownsample/_python/__init__.py +0 -0
  75. {tsdownsample-0.1.2a1 → tsdownsample-0.1.3}/tsdownsample/_rust/__init__.py +0 -0
@@ -0,0 +1,3 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: [jvdd, jonasvdd]
@@ -5,6 +5,10 @@ on:
5
5
  push:
6
6
  branches:
7
7
  - main
8
+ paths:
9
+ - "downsample_rs/**"
10
+ - "!downsample_rs/LICENSE"
11
+ - "!downsample_rs/README.md"
8
12
 
9
13
  defaults:
10
14
  run:
@@ -35,7 +39,7 @@ jobs:
35
39
  rustc --version
36
40
  cargo clippy --version
37
41
  cargo fmt --version
38
-
42
+
39
43
  - name: check no optional features
40
44
  run: cargo check --verbose
41
45
  - name: check with all features
@@ -50,9 +54,9 @@ jobs:
50
54
  strategy:
51
55
  fail-fast: false
52
56
  matrix:
53
- os: ['windows-latest', 'macOS-latest', 'ubuntu-latest']
54
- rust: ['nightly'] # ['stable', 'beta']
55
-
57
+ os: ["windows-latest", "macOS-latest", "ubuntu-latest"]
58
+ rust: ["nightly"] # ['stable', 'beta']
59
+
56
60
  steps:
57
61
  - name: Checkout
58
62
  uses: actions/checkout@v2
@@ -69,20 +73,20 @@ jobs:
69
73
 
70
74
  - name: Cache Dependencies
71
75
  uses: Swatinem/rust-cache@v1
72
-
76
+
73
77
  - name: Run tests (debug)
74
78
  run: cargo test --verbose --all-features
75
79
  - name: Run tests (release)
76
80
  run: cargo test --verbose --all-features --release
77
-
81
+
78
82
  Bench:
79
83
  runs-on: ${{ matrix.os }}
80
84
  strategy:
81
85
  fail-fast: false
82
86
  matrix:
83
- os: ['ubuntu-latest'] # ['windows-latest', 'macOS-latest']
84
- rust: ['nightly'] # ['stable', 'beta']
85
-
87
+ os: ["ubuntu-latest"] # ['windows-latest', 'macOS-latest']
88
+ rust: ["nightly"] # ['stable', 'beta']
89
+
86
90
  steps:
87
91
  - name: Checkout
88
92
  uses: actions/checkout@v2
@@ -99,10 +103,10 @@ jobs:
99
103
 
100
104
  - name: Cache Dependencies
101
105
  uses: Swatinem/rust-cache@v1
102
-
106
+
103
107
  - name: Run benchmarks
104
108
  run: cargo bench --quiet --message-format=short --all-features | grep "time:"
105
-
109
+
106
110
  Build:
107
111
  runs-on: ubuntu-latest
108
112
  strategy:
@@ -115,8 +119,12 @@ jobs:
115
119
  - i586-unknown-linux-gnu
116
120
  - aarch64-unknown-linux-gnu
117
121
  - armv7-unknown-linux-gnueabihf
118
- - mips-unknown-linux-gnu
119
- - mips64-unknown-linux-gnuabi64
122
+ # MIPS is currently not supported anymore on nightly chains.
123
+ # more information:
124
+ # - https://github.com/rust-lang/compiler-team/issues/648
125
+ # - https://github.com/rust-lang/rust/pull/113274
126
+ # - mips-unknown-linux-gnu
127
+ # - mips64-unknown-linux-gnuabi64
120
128
  - powerpc-unknown-linux-gnu
121
129
  - powerpc64-unknown-linux-gnu
122
130
  - riscv64gc-unknown-linux-gnu
@@ -133,11 +141,10 @@ jobs:
133
141
  rustup target add ${{ matrix.target }}
134
142
  # rustup component add clippy
135
143
  # - name: Run Clippy
136
- # run: cargo clippy --all-targets --target ${{ matrix.target }}
144
+ # run: cargo clippy --all-targets --target ${{ matrix.target }}
137
145
  - name: Build (release)
138
146
  run: cargo build --target ${{ matrix.target }} --release --all-features
139
147
 
140
-
141
148
  # - name: Run cargo-tarpaulin
142
149
  # uses: actions-rs/tarpaulin@v0.1
143
150
  # with:
@@ -145,6 +152,6 @@ jobs:
145
152
 
146
153
  # - name: Upload to codecov.io
147
154
  # uses: codecov/codecov-action@v3
148
-
149
-
150
- # largely inspired by: https://github.com/rust-lang/portable-simd/blob/master/.github/workflows/ci.yml
155
+ #
156
+ #
157
+ # largely inspired by: https://github.com/rust-lang/portable-simd/blob/master/.github/workflows/ci.yml
@@ -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.7', '3.8', '3.9', '3.10', '3.11']
49
+ python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
50
50
 
51
51
  env:
52
52
  PYTHON: ${{ matrix.python-version }}
@@ -87,7 +87,7 @@ jobs:
87
87
  # Perhaps smth more in line with this https://github.com/messense/crfs-rs/blob/main/.github/workflows/Python.yml
88
88
  name: build on ${{ matrix.os }} (${{ matrix.target }} - ${{ matrix.manylinux || 'auto' }})
89
89
  # only run on push to main and on release
90
- # if: "success() && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'Full Build'))"
90
+ if: "success() && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'Full Build'))"
91
91
  strategy:
92
92
  fail-fast: false
93
93
  matrix:
@@ -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.7 3.8 3.9 3.10 3.11' }}
158
+ args: --release --out dist --interpreter ${{ matrix.interpreter || '3.7 3.8 3.9 3.10 3.11 3.12' }}
159
159
 
160
160
  - run: ${{ matrix.ls || 'ls -lh' }} dist/
161
161
 
@@ -166,7 +166,7 @@ jobs:
166
166
 
167
167
  Release:
168
168
  needs: [Lint_and_Check, Test, Build]
169
- # if: "success() && startsWith(github.ref, 'refs/tags/')"
169
+ if: "success() && startsWith(github.ref, 'refs/tags/')"
170
170
  runs-on: ubuntu-latest
171
171
 
172
172
  steps:
@@ -0,0 +1,52 @@
1
+ name: "CodeQL"
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ # The branches below must be a subset of the branches above
8
+ branches: [ "main" ]
9
+ schedule:
10
+ - cron: '00 00 * * 1'
11
+
12
+ jobs:
13
+ analyze:
14
+ name: Analyze
15
+ # Runner size impacts CodeQL analysis time. To learn more, please see:
16
+ # - https://gh.io/recommended-hardware-resources-for-running-codeql
17
+ # - https://gh.io/supported-runners-and-hardware-resources
18
+ # - https://gh.io/using-larger-runners
19
+ # Consider using larger runners for possible analysis time improvements.
20
+ runs-on: 'ubuntu-latest'
21
+ timeout-minutes: 360
22
+ permissions:
23
+ actions: read
24
+ contents: read
25
+ security-events: write
26
+
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ language: [ 'python' ]
31
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
32
+ # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
33
+
34
+ steps:
35
+ - name: Checkout repository
36
+ uses: actions/checkout@v3
37
+
38
+ - name: Initialize CodeQL
39
+ uses: github/codeql-action/init@v2
40
+ with:
41
+ languages: ${{ matrix.language }}
42
+ # If you wish to specify custom queries, you can do so here or in a config file.
43
+ # By default, queries listed here will override any specified in a config file.
44
+ # Prefix the list here with "+" to use these queries and those in the config file.
45
+
46
+ # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
47
+ # queries: security-extended,security-and-quality
48
+
49
+ - name: Perform CodeQL Analysis
50
+ uses: github/codeql-action/analyze@v2
51
+ with:
52
+ category: "/language:${{matrix.language}}"
@@ -43,6 +43,6 @@ jobs:
43
43
  # - run: rm tests/__init__.py
44
44
 
45
45
  - name: Run CodSpeed benchmarks
46
- uses: CodSpeedHQ/action@v1
46
+ uses: CodSpeedHQ/action@v2
47
47
  with:
48
48
  run: pytest tests/benchmarks/ --codspeed
@@ -1,3 +1,4 @@
1
+ .ruff*
1
2
  .vscode/*
2
3
  venv/
3
4
  TODO.md