This page documents OpenDAL's ecosystem integrations beyond the object_store crate. These integrations enable OpenDAL to work with various data access patterns, protocols, and platform-specific APIs. For information about the object_store integration specifically, see object_store Integration.
OpenDAL provides several specialized integration crates that bridge OpenDAL's unified storage API with different data access paradigms and protocols.
Integration Architecture Overview
Sources: integrations/fuse3/Cargo.toml18-42 integrations/dav-server/Cargo.toml18-42 integrations/parquet/Cargo.toml18-48 bin/ofs/Cargo.toml47-56 bin/oay/Cargo.toml42-48
The fuse3_opendal
crate provides FUSE (Filesystem in Userspace) integration, allowing any OpenDAL storage service to be mounted as a local filesystem on Unix-like systems.
The FUSE integration implements the FUSE protocol to translate filesystem operations into OpenDAL operations:
FUSE Integration Flow
Sources: integrations/fuse3/Cargo.toml30-39 bin/ofs/Cargo.toml47-51
The ofs
application uses fuse3_opendal
to mount storage services as filesystems:
Platform | Integration | Purpose |
---|---|---|
Linux, FreeBSD, macOS | fuse3_opendal | FUSE-based filesystem mounting |
Windows | cloud_filter_opendal | Windows Cloud Filter API support |
Sources: bin/ofs/Cargo.toml47-56
The dav-server-opendalfs
crate implements a WebDAV server backend using OpenDAL, enabling access to storage services through the WebDAV protocol.
WebDAV Integration Architecture
Sources: integrations/dav-server/Cargo.toml18-42
The oay
application uses dav-server-opendalfs
to expose storage services via WebDAV:
oay WebDAV Integration
Sources: bin/oay/Cargo.toml36-48
The parquet_opendal
crate provides integration with Apache Parquet, implementing async I/O traits for reading and writing Parquet files through OpenDAL.
The integration implements Parquet's async I/O traits:
Trait | Purpose | OpenDAL Mapping |
---|---|---|
AsyncFileReader | Reading Parquet files | Maps to Operator.reader() |
AsyncFileWriter | Writing Parquet files | Maps to Operator.writer() |
Parquet Integration Components
Sources: integrations/parquet/Cargo.toml30-48
The Parquet integration enables:
Sources: integrations/parquet/Cargo.toml49-56
For Windows systems, OpenDAL provides cloud_filter_opendal
integration that uses the Windows Cloud Filter API for more native filesystem integration:
Windows Cloud Filter Integration
Sources: bin/ofs/Cargo.toml53-56
The integration crates have the following dependency relationships:
Integration | Core Dependencies | External Dependencies |
---|---|---|
fuse3_opendal | opendal , tokio | fuse3 , libc |
dav-server-opendalfs | opendal , bytes | dav-server , futures |
parquet_opendal | opendal , bytes | parquet , arrow |
cloud_filter_opendal | opendal | cloud-filter |
Sources: integrations/fuse3/Cargo.toml30-39 integrations/dav-server/Cargo.toml30-36 integrations/parquet/Cargo.toml30-39 bin/ofs/Cargo.toml53-56
Refresh this wiki
Last indexed: 5 June 2025 (37efe2)
This wiki was recently refreshed. Please wait 3 days to refresh again.