Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wheels for linux aarch64 #215

Open
thomasaarholt opened this issue Apr 21, 2023 · 7 comments
Open

Wheels for linux aarch64 #215

thomasaarholt opened this issue Apr 21, 2023 · 7 comments

Comments

@thomasaarholt
Copy link

Hello! If this is still in development, I'd love to see wheels for linux aarch64, so that this can be installed without rust in Docker on my M1 mac :)

@kylebarron
Copy link
Member

👋 I haven't had much free time the last couple months, but I want to get back to this. (I made a polars PR for fixed size list types, and I want to push that through, which should unblock a couple things here.)

In terms of the linux aarch wheels; do you have an example for that? I'm guessing it has to be built with QEMU? Are there manylinux-specific docker containers for aarch? It looks like there are some here: https://github.com/pypa/manylinux. So it might be as simple as copying this block

build-wheel-manylinux-2-24:
name: "Build manylinux 2.24 wheels"
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux_2_24_x86_64
defaults:
run:
working-directory: py-geopolars
to include an aarch docker container as well

@thomasaarholt
Copy link
Author

@thomasaarholt
Copy link
Author

Very excited to hear that this project is still in development 😊 I've worked on a data-science project and have had to resort to resort to converting my geography-columns back and forth between LineStrings and List[List[Float64]] in order to pass things between pandas and polars.

@kylebarron
Copy link
Member

For how polars does it: pola-rs/polars@5c61983/.github/workflows/create-python-release.yml#L38

That's a good reference; I don't currently use maturin-action in the geopolars actions because I'm also compiling proj from source, and it's not clear maturin-action has a way to do that

@kylebarron
Copy link
Member

geography-columns back and forth between LineStrings and List[List[Float64]]

The List[Float64] isn't going to be that efficient because you're storing an extra offsets column for every coordinate, so hopefully fixed size lists will make that better.

Are you using rust or Python? I.e. are you converting between shapely linestrings or georust linestrings?

@thomasaarholt
Copy link
Author

thomasaarholt commented Apr 22, 2023

you're storing an extra offsets column for every coordinate

That's interesting, not something I had considered!

I'm doing this in python, converting shapely linestrings. My data is thankfully not that large, at a few thousand nodes, so conversion isn't a slow process.

@kylebarron
Copy link
Member

At that point it might be better to use a wkb column of data when you want it in the polars dataframe and convert it to shapely geometries when you want to do operations. The WKB is probably more space efficient than the non-fixed size list and the shapely to/from wkb is more optimized I think

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants