Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
96b60e8
update and simplify dependencies
ttrotto Aug 4, 2025
50c2b89
simplify import and refine checking logics
ttrotto Aug 4, 2025
8bf638a
handle GeometryCollection with enhanced EdgeCollection enum
ttrotto Aug 4, 2025
13319e9
decoupled polygon and line rasterization to handle GeometryCollection
ttrotto Aug 4, 2025
36aa89f
impl traits to handle dtype runtime polymorphism
ttrotto Aug 4, 2025
c155720
handle GeometryCollection and return invalid geometry counts
ttrotto Aug 4, 2025
13eb7c2
update to new Rust nightly
ttrotto Aug 4, 2025
3c389c3
housekeeping
ttrotto Aug 4, 2025
3a99bca
rustfmt
ttrotto Aug 4, 2025
2732085
decoupled rusterize impl
ttrotto Aug 4, 2025
46c8323
traits to handle dtype runtime polymorphism
ttrotto Aug 4, 2025
d2d7ba1
update .gitignore
ttrotto Aug 4, 2025
f14fd09
update README
ttrotto Aug 4, 2025
e724c4c
update README
ttrotto Aug 4, 2025
bfeb518
remove support for numpy array in res, out_shape, and extent
ttrotto Aug 4, 2025
1c56ce7
fixed import for `burn` argument from Python
ttrotto Aug 5, 2025
bb7b784
properly handle error when `field` is not in `gdf`
ttrotto Aug 5, 2025
ba9ada2
potential fix: activaet rustflags only for x86_64
ttrotto Aug 5, 2025
0608b3c
still try solving compilation error for ring in linux aarch64
ttrotto Aug 5, 2025
3b5f7a4
remove CI for windows-latest aarch64
ttrotto Aug 5, 2025
adba526
try changing manylinux version
ttrotto Aug 5, 2025
1854331
fixed rustflags for x86_64 and re-included windows-latest aarch64
ttrotto Aug 5, 2025
cc3bbdb
fixed syntax error in workflow
ttrotto Aug 5, 2025
91f7768
removed once again windows-latest aarch64 :/
ttrotto Aug 5, 2025
a379202
hopefully fixed workflow for windows
ttrotto Aug 5, 2025
e975875
try again with bash shell and correct architecture for windows
ttrotto Aug 5, 2025
0c2be36
updated workflow with architecture-dependent RUSTFLAGS
ttrotto Aug 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 52 additions & 29 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,36 @@ jobs:
platform:
- runner: ubuntu-22.04
target: x86_64
# - runner: ubuntu-22.04
# target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
target: armv7
# - runner: ubuntu-22.04
# target: s390x
- runner: ubuntu-22.04
target: ppc64le
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Store RUSTFLAGS in ENV for x86_64
if: matrix.platform.target == 'x86_64'
id: features
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x86_64
if: matrix.platform.target == 'x86_64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --profile dist-release --out dist --find-interpreter
sccache: "true"
manylinux: auto
manylinux: manylinux_2_28
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
Expand All @@ -52,8 +60,6 @@ jobs:
platform:
- runner: ubuntu-22.04
target: x86_64
# - runner: ubuntu-22.04
# target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
Expand All @@ -63,13 +69,25 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Store RUSTFLAGS in ENV for x86_64
if: matrix.platform.target == 'x86_64'
id: features
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x86_64
if: matrix.platform.target == 'x86_64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --profile dist-release --out dist --find-interpreter
sccache: "true"
manylinux: musllinux_1_2
manylinux: manylinux_2_28
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
Expand All @@ -84,14 +102,25 @@ jobs:
platform:
- runner: windows-latest
target: x64
# - runner: windows-latest
# target: x86
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
architecture: ${{ matrix.platform.target }}
- name: Store RUSTFLAGS in ENV for x86_64
if: matrix.platform.target == 'x86_64'
id: features
shell: bash
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x64
if: matrix.platform.target == 'x64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
Expand All @@ -104,6 +133,7 @@ jobs:
name: wheels-windows-${{ matrix.platform.target }}
path: dist


macos:
runs-on: ${{ matrix.platform.runner }}
strategy:
Expand All @@ -119,6 +149,18 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Store RUSTFLAGS in ENV for x86_64
if: matrix.platform.target == 'x86_64'
id: features
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x86_64
if: matrix.platform.target == 'x86_64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
Expand Down Expand Up @@ -146,22 +188,3 @@ jobs:
name: wheels-sdist
path: dist

publish-to-pypi:
name: Publish to PyPI
needs: [ linux, musllinux, windows, macos, sdist ]
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/rusterize
permissions:
id-token: write
steps:
- name: Download sdists and wheels
uses: actions/download-artifact@v4
with:
path: dist
merge-multiple: true
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
61 changes: 50 additions & 11 deletions .github/workflows/test-compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,35 @@ jobs:
platform:
- runner: ubuntu-22.04
target: x86_64
# - runner: ubuntu-22.04
# target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
target: armv7
# - runner: ubuntu-22.04
# target: s390x
- runner: ubuntu-22.04
target: ppc64le
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Store RUSTFLAGS in ENV
id: features
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x86_64
if: matrix.platform.target == 'x86_64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --profile dist-release --out dist --find-interpreter
sccache: "true"
manylinux: auto
manylinux: manylinux_2_28
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
Expand All @@ -53,8 +60,6 @@ jobs:
platform:
- runner: ubuntu-22.04
target: x86_64
# - runner: ubuntu-22.04
# target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
Expand All @@ -64,13 +69,24 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Store RUSTFLAGS in ENV
id: features
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x86_64
if: matrix.platform.target == 'x86_64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --profile dist-release --out dist --find-interpreter
sccache: "true"
manylinux: musllinux_1_2
manylinux: manylinux_2_28
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
Expand All @@ -85,14 +101,24 @@ jobs:
platform:
- runner: windows-latest
target: x64
# - runner: windows-latest
# target: x86
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
architecture: ${{ matrix.platform.target }}
- name: Store RUSTFLAGS in ENV
id: features
shell: bash
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x64
if: matrix.platform.target == 'x64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
Expand All @@ -105,6 +131,7 @@ jobs:
name: wheels-windows-${{ matrix.platform.target }}
path: dist


macos:
runs-on: ${{ matrix.platform.runner }}
strategy:
Expand All @@ -120,6 +147,17 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Store RUSTFLAGS in ENV
id: features
run: |
FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe
echo "features=$FEATURES" >> $GITHUB_OUTPUT
- name: Set RUSTFLAGS for x86_64
if: matrix.platform.target == 'x86_64'
env:
FEATURES: ${{ steps.features.outputs.features }}
run: |
echo "RUSTFLAGS=-C target-feature=$FEATURES" >> $GITHUB_ENV
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
Expand All @@ -145,4 +183,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: wheels-sdist
path: dist
path: dist

4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,5 @@ tests/
# README quarto stuff
README_files

# Other stuff
_ROADMAP
# uv
uv.lock
Loading
Loading