You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In apache/datafusion#7633 I worked through which datafusion-* crates are currently compatible with wasm-pack. These are:
datafusion-common with default-features = false
datafusion-expr
datafusion-physical-expr
datafusion-optimizer
datafusion-sql
The main datafusion crate (called datafusion-core in the repo) is not yet compatible with wasm. This should eventually be doable, but there are issues to work out regarding dependencies with native build requirements.
The current vegafusion-wasm crate depends on vegafusion-core, which in turn depends on datafusion-common. The main reason to depend on this crate currently is for the ScalarValue support.
I realized that the vegafusion-datafusion-udf, vegafusion-dataframe, datafusion-sql (without the datafusion-conn feature enabled), and datafusion-runtime crates all only depend only on the datafusion crates that are compatible with WASM. The only vegafusion dependency on the core datafusion crate is datafusion-sql with the datafusion-conn feature flag enabled. This means that it should be possible to compile the vegafusion-runtime to WASM and use an alternative WASM-compatible connection implementation.
One obvious candidate for a WASM-compatible connection would be a connection to DuckDB WASM. This would be very similar to how the vegafusion Python API includes support for implementing connections in Python.
The text was updated successfully, but these errors were encountered:
In apache/datafusion#7633 I worked through which
datafusion-*
crates are currently compatible withwasm-pack
. These are:The main
datafusion
crate (calleddatafusion-core
in the repo) is not yet compatible with wasm. This should eventually be doable, but there are issues to work out regarding dependencies with native build requirements.The current
vegafusion-wasm
crate depends onvegafusion-core
, which in turn depends ondatafusion-common
. The main reason to depend on this crate currently is for theScalarValue
support.I realized that the
vegafusion-datafusion-udf
,vegafusion-dataframe
,datafusion-sql
(without thedatafusion-conn
feature enabled), anddatafusion-runtime
crates all only depend only on the datafusion crates that are compatible with WASM. The only vegafusion dependency on the coredatafusion
crate isdatafusion-sql
with thedatafusion-conn
feature flag enabled. This means that it should be possible to compile thevegafusion-runtime
to WASM and use an alternative WASM-compatible connection implementation.One obvious candidate for a WASM-compatible connection would be a connection to DuckDB WASM. This would be very similar to how the vegafusion Python API includes support for implementing connections in Python.
The text was updated successfully, but these errors were encountered: