weld-project / weld

High-performance runtime for data analytics applications
https://www.weld.rs
BSD 3-Clause "New" or "Revised" License
2.99k stars 260 forks source link

Generate core Weld API Python bindings with PyO3 #479

Closed sppalkia closed 4 years ago

sppalkia commented 4 years ago

This patch generates Python 3 compatible bindings for the main Weld API using PyO3. This makes the bindings slightly more robust, and also makes building them easier since PyO3 contains tools to automate setup (e.g., without having to set an environment variable).

One issue is that Weld currently uses stable Rust, while PyO3 requires the specialization features from nightly Rust. This module may thus be distributed separately from the main Weld workspace, or distributed as a different repository altogether.

Addresses #485

sppalkia commented 4 years ago

Note that this package (located under weld-python is a work in progress! It's being merged to make working on other related issues (see milestone).