rusterize 0.3.0__tar.gz → 0.4.1__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.

Potentially problematic release.


This version of rusterize might be problematic. Click here for more details.

Files changed (31) hide show
  1. {rusterize-0.3.0 → rusterize-0.4.1}/.github/workflows/CI.yml +54 -12
  2. {rusterize-0.3.0 → rusterize-0.4.1}/.github/workflows/test-compile.yml +50 -11
  3. {rusterize-0.3.0 → rusterize-0.4.1}/.gitignore +5 -14
  4. {rusterize-0.3.0 → rusterize-0.4.1}/Cargo.lock +1757 -622
  5. {rusterize-0.3.0 → rusterize-0.4.1}/Cargo.toml +13 -18
  6. {rusterize-0.3.0 → rusterize-0.4.1}/PKG-INFO +62 -43
  7. {rusterize-0.3.0 → rusterize-0.4.1}/README.md +60 -42
  8. {rusterize-0.3.0 → rusterize-0.4.1}/img/plot.png +0 -0
  9. {rusterize-0.3.0 → rusterize-0.4.1}/pyproject.toml +2 -2
  10. rusterize-0.4.1/python/rusterize/__init__.py +139 -0
  11. rusterize-0.4.1/rust-toolchain.toml +2 -0
  12. rusterize-0.4.1/rustfmt.toml +1 -0
  13. {rusterize-0.3.0 → rusterize-0.4.1}/src/edge_collection.rs +43 -36
  14. {rusterize-0.3.0 → rusterize-0.4.1}/src/geom/validate.rs +7 -4
  15. rusterize-0.4.1/src/lib.rs +220 -0
  16. rusterize-0.4.1/src/pixel_functions.rs +98 -0
  17. rusterize-0.4.1/src/prelude.rs +116 -0
  18. rusterize-0.4.1/src/rasterize_geometry.rs +153 -0
  19. rusterize-0.4.1/src/rusterize_impl.rs +139 -0
  20. {rusterize-0.3.0 → rusterize-0.4.1}/src/structs/edge.rs +39 -3
  21. {rusterize-0.3.0 → rusterize-0.4.1}/src/structs/raster.rs +5 -1
  22. {rusterize-0.3.0 → rusterize-0.4.1}/src/to_xarray.rs +18 -11
  23. rusterize-0.3.0/python/rusterize/__init__.py +0 -4
  24. rusterize-0.3.0/python/rusterize/core.py +0 -107
  25. rusterize-0.3.0/rust-toolchain.toml +0 -2
  26. rusterize-0.3.0/src/lib.rs +0 -230
  27. rusterize-0.3.0/src/pixel_functions.rs +0 -73
  28. rusterize-0.3.0/src/rasterize.rs +0 -114
  29. {rusterize-0.3.0 → rusterize-0.4.1}/LICENSE +0 -0
  30. {rusterize-0.3.0 → rusterize-0.4.1}/src/allocator.rs +0 -0
  31. {rusterize-0.3.0 → rusterize-0.4.1}/src/geom/from_shapely.rs +0 -0
@@ -3,7 +3,7 @@ name: CI
3
3
  on:
4
4
  release:
5
5
  types: [published]
6
-
6
+
7
7
  permissions:
8
8
  contents: read
9
9
 
@@ -16,14 +16,10 @@ jobs:
16
16
  platform:
17
17
  - runner: ubuntu-22.04
18
18
  target: x86_64
19
- # - runner: ubuntu-22.04
20
- # target: x86
21
19
  - runner: ubuntu-22.04
22
20
  target: aarch64
23
21
  - runner: ubuntu-22.04
24
22
  target: armv7
25
- # - runner: ubuntu-22.04
26
- # target: s390x
27
23
  - runner: ubuntu-22.04
28
24
  target: ppc64le
29
25
  steps:
@@ -31,13 +27,25 @@ jobs:
31
27
  - uses: actions/setup-python@v5
32
28
  with:
33
29
  python-version: 3.x
30
+ - name: Store RUSTFLAGS in ENV for x86_64
31
+ if: matrix.platform.target == 'x86_64'
32
+ id: features
33
+ run: |
34
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
35
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
36
+ - name: Set RUSTFLAGS for x86_64
37
+ if: matrix.platform.target == 'x86_64'
38
+ env:
39
+ FEATURES: ${{ steps.features.outputs.features }}
40
+ run: |
41
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
34
42
  - name: Build wheels
35
43
  uses: PyO3/maturin-action@v1
36
44
  with:
37
45
  target: ${{ matrix.platform.target }}
38
46
  args: --profile dist-release --out dist --find-interpreter
39
47
  sccache: "true"
40
- manylinux: auto
48
+ manylinux: manylinux_2_28
41
49
  - name: Upload wheels
42
50
  uses: actions/upload-artifact@v4
43
51
  with:
@@ -52,8 +60,6 @@ jobs:
52
60
  platform:
53
61
  - runner: ubuntu-22.04
54
62
  target: x86_64
55
- # - runner: ubuntu-22.04
56
- # target: x86
57
63
  - runner: ubuntu-22.04
58
64
  target: aarch64
59
65
  - runner: ubuntu-22.04
@@ -63,13 +69,25 @@ jobs:
63
69
  - uses: actions/setup-python@v5
64
70
  with:
65
71
  python-version: 3.x
72
+ - name: Store RUSTFLAGS in ENV for x86_64
73
+ if: matrix.platform.target == 'x86_64'
74
+ id: features
75
+ run: |
76
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
77
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
78
+ - name: Set RUSTFLAGS for x86_64
79
+ if: matrix.platform.target == 'x86_64'
80
+ env:
81
+ FEATURES: ${{ steps.features.outputs.features }}
82
+ run: |
83
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
66
84
  - name: Build wheels
67
85
  uses: PyO3/maturin-action@v1
68
86
  with:
69
87
  target: ${{ matrix.platform.target }}
70
88
  args: --profile dist-release --out dist --find-interpreter
71
89
  sccache: "true"
72
- manylinux: musllinux_1_2
90
+ manylinux: manylinux_2_28
73
91
  - name: Upload wheels
74
92
  uses: actions/upload-artifact@v4
75
93
  with:
@@ -84,14 +102,25 @@ jobs:
84
102
  platform:
85
103
  - runner: windows-latest
86
104
  target: x64
87
- # - runner: windows-latest
88
- # target: x86
89
105
  steps:
90
106
  - uses: actions/checkout@v4
91
107
  - uses: actions/setup-python@v5
92
108
  with:
93
109
  python-version: 3.x
94
110
  architecture: ${{ matrix.platform.target }}
111
+ - name: Store RUSTFLAGS in ENV for x64
112
+ if: matrix.platform.target == 'x64'
113
+ id: features
114
+ shell: bash
115
+ run: |
116
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
117
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
118
+ - name: Set RUSTFLAGS for x64
119
+ if: matrix.platform.target == 'x64'
120
+ env:
121
+ FEATURES: ${{ steps.features.outputs.features }}
122
+ run: |
123
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
95
124
  - name: Build wheels
96
125
  uses: PyO3/maturin-action@v1
97
126
  with:
@@ -119,6 +148,18 @@ jobs:
119
148
  - uses: actions/setup-python@v5
120
149
  with:
121
150
  python-version: 3.x
151
+ - name: Store RUSTFLAGS in ENV for x86_64
152
+ if: matrix.platform.target == 'x86_64'
153
+ id: features
154
+ run: |
155
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
156
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
157
+ - name: Set RUSTFLAGS for x86_64
158
+ if: matrix.platform.target == 'x86_64'
159
+ env:
160
+ FEATURES: ${{ steps.features.outputs.features }}
161
+ run: |
162
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
122
163
  - name: Build wheels
123
164
  uses: PyO3/maturin-action@v1
124
165
  with:
@@ -148,7 +189,7 @@ jobs:
148
189
 
149
190
  publish-to-pypi:
150
191
  name: Publish to PyPI
151
- needs: [ linux, musllinux, windows, macos, sdist ]
192
+ needs: [linux, musllinux, windows, macos, sdist]
152
193
  runs-on: ubuntu-latest
153
194
  environment:
154
195
  name: pypi
@@ -165,3 +206,4 @@ jobs:
165
206
  uses: pypa/gh-action-pypi-publish@release/v1
166
207
  with:
167
208
  verbose: true
209
+
@@ -17,14 +17,10 @@ jobs:
17
17
  platform:
18
18
  - runner: ubuntu-22.04
19
19
  target: x86_64
20
- # - runner: ubuntu-22.04
21
- # target: x86
22
20
  - runner: ubuntu-22.04
23
21
  target: aarch64
24
22
  - runner: ubuntu-22.04
25
23
  target: armv7
26
- # - runner: ubuntu-22.04
27
- # target: s390x
28
24
  - runner: ubuntu-22.04
29
25
  target: ppc64le
30
26
  steps:
@@ -32,13 +28,24 @@ jobs:
32
28
  - uses: actions/setup-python@v5
33
29
  with:
34
30
  python-version: 3.x
31
+ - name: Store RUSTFLAGS in ENV
32
+ id: features
33
+ run: |
34
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
35
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
36
+ - name: Set RUSTFLAGS for x86_64
37
+ if: matrix.platform.target == 'x86_64'
38
+ env:
39
+ FEATURES: ${{ steps.features.outputs.features }}
40
+ run: |
41
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
35
42
  - name: Build wheels
36
43
  uses: PyO3/maturin-action@v1
37
44
  with:
38
45
  target: ${{ matrix.platform.target }}
39
46
  args: --profile dist-release --out dist --find-interpreter
40
47
  sccache: "true"
41
- manylinux: auto
48
+ manylinux: manylinux_2_28
42
49
  - name: Upload wheels
43
50
  uses: actions/upload-artifact@v4
44
51
  with:
@@ -53,8 +60,6 @@ jobs:
53
60
  platform:
54
61
  - runner: ubuntu-22.04
55
62
  target: x86_64
56
- # - runner: ubuntu-22.04
57
- # target: x86
58
63
  - runner: ubuntu-22.04
59
64
  target: aarch64
60
65
  - runner: ubuntu-22.04
@@ -64,13 +69,24 @@ jobs:
64
69
  - uses: actions/setup-python@v5
65
70
  with:
66
71
  python-version: 3.x
72
+ - name: Store RUSTFLAGS in ENV
73
+ id: features
74
+ run: |
75
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
76
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
77
+ - name: Set RUSTFLAGS for x86_64
78
+ if: matrix.platform.target == 'x86_64'
79
+ env:
80
+ FEATURES: ${{ steps.features.outputs.features }}
81
+ run: |
82
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
67
83
  - name: Build wheels
68
84
  uses: PyO3/maturin-action@v1
69
85
  with:
70
86
  target: ${{ matrix.platform.target }}
71
87
  args: --profile dist-release --out dist --find-interpreter
72
88
  sccache: "true"
73
- manylinux: musllinux_1_2
89
+ manylinux: manylinux_2_28
74
90
  - name: Upload wheels
75
91
  uses: actions/upload-artifact@v4
76
92
  with:
@@ -85,14 +101,24 @@ jobs:
85
101
  platform:
86
102
  - runner: windows-latest
87
103
  target: x64
88
- # - runner: windows-latest
89
- # target: x86
90
104
  steps:
91
105
  - uses: actions/checkout@v4
92
106
  - uses: actions/setup-python@v5
93
107
  with:
94
108
  python-version: 3.x
95
109
  architecture: ${{ matrix.platform.target }}
110
+ - name: Store RUSTFLAGS in ENV
111
+ id: features
112
+ shell: bash
113
+ run: |
114
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
115
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
116
+ - name: Set RUSTFLAGS for x64
117
+ if: matrix.platform.target == 'x64'
118
+ env:
119
+ FEATURES: ${{ steps.features.outputs.features }}
120
+ run: |
121
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
96
122
  - name: Build wheels
97
123
  uses: PyO3/maturin-action@v1
98
124
  with:
@@ -105,6 +131,7 @@ jobs:
105
131
  name: wheels-windows-${{ matrix.platform.target }}
106
132
  path: dist
107
133
 
134
+
108
135
  macos:
109
136
  runs-on: ${{ matrix.platform.runner }}
110
137
  strategy:
@@ -120,6 +147,17 @@ jobs:
120
147
  - uses: actions/setup-python@v5
121
148
  with:
122
149
  python-version: 3.x
150
+ - name: Store RUSTFLAGS in ENV
151
+ id: features
152
+ run: |
153
+ FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
154
+ echo "features=$FEATURES" >> $GITHUB_OUTPUT
155
+ - name: Set RUSTFLAGS for x86_64
156
+ if: matrix.platform.target == 'x86_64'
157
+ env:
158
+ FEATURES: ${{ steps.features.outputs.features }}
159
+ run: |
160
+ echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
123
161
  - name: Build wheels
124
162
  uses: PyO3/maturin-action@v1
125
163
  with:
@@ -145,4 +183,5 @@ jobs:
145
183
  uses: actions/upload-artifact@v4
146
184
  with:
147
185
  name: wheels-sdist
148
- path: dist
186
+ path: dist
187
+
@@ -3,19 +3,12 @@
3
3
  debug/
4
4
  target/
5
5
 
6
- # # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
7
- # # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
8
- # Cargo.lock
9
-
10
6
  # These are backup files generated by rustfmt
11
7
  **/*.rs.bk
12
8
 
13
9
  # MSVC Windows builds of rustc generate these, which store debugging information
14
10
  *.pdb
15
11
 
16
- # IDE stuff
17
- .idea
18
-
19
12
  # Virtual environment
20
13
  .venv
21
14
  .env
@@ -25,16 +18,14 @@ target/
25
18
 
26
19
  # Pycache
27
20
  **/__pycache__
28
-
29
- # Tests
30
- tests/
31
21
  .pytest_cache
32
22
 
33
23
  # Benchmarks
34
24
  .benchmarks
35
25
 
36
- # README quarto stuff
26
+ # other stuff
37
27
  README_files
38
-
39
- # Other stuff
40
- _ROADMAP
28
+ tests
29
+ .ruff_cache
30
+ .git
31
+ uv.lock