apache / opendal

Apache OpenDAL: One Layer, All Storage.
https://opendal.apache.org
Apache License 2.0
3.46k stars 486 forks source link
azblob gcs hacktoberfest redis rust s3 storage

Apache OpenDAL™: One Layer, All Storage.

OpenDAL is an Open Data Access Layer that enables seamless interaction with diverse storage services.

OpenDAL's development is guided by its vision of One Layer, All Storage and its core principles: Open Community, Solid Foundation, Fast Access, Object Storage First, and Extensible Architecture. Read the explained vision at OpenDAL Vision.

OpenDAL Architectural

For ANY languages

Name Release Docs
Rust Core Rust Core Image Docs Release Docs Dev
C Binding - Docs Dev
Cpp Binding - Docs Dev
D Binding - -
Dotnet Binding - -
Go Binding Go Binding Image Docs Release
Haskell Binding - -
Java Binding Java Binding Image Docs Release Docs Dev
Lua Binding - -
Node.js Binding Node.js Binding Image Docs Dev
Ocaml Binding - -
PHP Binding - -
Python Binding Python Binding Image Docs Dev
Ruby Binding - -
Swift Binding - -
Zig Binding - -

For ANY methods

Name Description Release
oay Access data via API Gateway oay image
oli Access data via Command Line (alternative to s3cmd, s3cli, azcopy) oli image
ofs Access data via POSIX file system API (alternative to s3fs) ofs image

For ANY integrations

Name Description Release Docs
dav-server-opendalfs a dav-server-rs implementation using opendal. dav-server image Docs Release Docs Dev
object_store_opendal an object_store implementation using opendal. object_store image Docs Release Docs Dev
fuse3_opendal Access data via integrations to fuse3 fuse3 image Docs Release Docs Dev
virtiofs_opendal Access data via integrations to vhost-user-backend virtiofs image Docs Release Docs Dev
unftp-sbe-opendal an unftp storage backend implementation using opendal. unftp-sbe image Docs Release Docs Dev
parquet_opendal Provides parquet efficient IO utilities parquet image Docs Release Docs Dev

For ANY services

Type Services
Standard Storage Protocols ftp http sftp
Object Storage Services azblob gcs oss
b2 upyun
File Storage Services fs alluxio azfile compfs
dbfs hdfs ipfs
Consumer Cloud Storage Service aliyun_drive onedrive icloud
pcloud yandex_disk
Key-Value Storage Services cacache dashmap memory etcd
foundationdb redis sled
redb atomicserver
Database Storage Services d1 mysql sqlite
Cache Storage Services ghac mini_moka vercel_artifacts
Git Based Storage Services huggingface

Examples

The examples are available at here.

Documentation

The documentation is available at https://opendal.apache.org.

Contribute

OpenDAL is an active open-source project. We are always open to people who want to use it or contribute to it. Here are some ways to go.

Who is using OpenDAL?

Rust Core

C Binding

Java Binding

Branding

The first and most prominent mentions must use the full form: Apache OpenDAL™ of the name for any individual usage (webpage, handout, slides, etc.) Depending on the context and writing style, you should use the full form of the name sufficiently often to ensure that readers clearly understand the association of both the OpenDAL project and the OpenDAL software product to the ASF as the parent organization.

For more details, see the Apache Product Name Usage Guide.

License and Trademarks

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Apache OpenDAL, OpenDAL, and Apache are either registered trademarks or trademarks of the Apache Software Foundation.