back to home

apache / opendal

Apache OpenDAL: One Layer, All Storage.

4,951 stars
723 forks
266 issues
RustC#Java

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing apache/opendal in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/apache/opendal)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Apache OpenDAL™: *One Layer, All Storage.* OpenDAL ( , pronounced "OH-puhn-dal") 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. For *ANY* languages > **Note**: Each binding has its own independent version number, which may differ from the Rust core version. When checking for updates or compatibility, always refer to the specific binding's version rather than the core version. | Name | Release | Docs | Used By | | ----------------- | ------------------------------------------------ | --------------------------------------------------------------------------------- | ----------------------------------- | | [Rust Core] | [![Rust Core Image]][Rust Core Link] | [![Docs Release]][Rust Core Release Docs] [![Docs Dev]][Rust Core Dev Docs] | [![Rust Core Users Image]][Rust Core Users] | | [C Binding] | - | [![Docs Dev]][C Binding Dev Docs] | [![C Binding Users Image]][C Binding Users] | | [Cpp Binding] | - | [![Docs Dev]][Cpp Binding Dev Docs] | - | | [D Binding] | - | - | - | | [Dart Binding] | - | - | - | | [Dotnet Binding] | - | - | - | | [Go Binding] | [![Go Binding Image]][Go Binding Link] | [![Docs Release]][Go Release Docs] | - | | [Haskell Binding] | - | - | - | | [Java Binding] | [![Java Binding Image]][Java Binding Link] | [![Docs Release]][Java Binding Release Docs] [![Docs Dev]][Java Binding Dev Docs] | [![Java Binding Users Image]][Java Binding Users] | | [Lua Binding] | - | - | - | | [Node.js Binding] | [![Node.js Binding Image]][Node.js Binding Link] | [![Docs Dev]][Node.js Binding Dev Docs] | - | | [OCaml Binding] | - | - | - | | [PHP Binding] | - | - | - | | [Python Binding] | [![Python Binding Image]][Python Binding Link] | [![Docs Dev]][Python Binding Dev Docs] | [![Python Binding Users Image]][Python Binding Users] | | [Ruby Binding] | - | - | - | | [Swift Binding] | - | - | - | | [Zig Binding] | - | - | - | [Docs Release]: https://img.shields.io/badge/docs-release-blue [Docs Dev]: https://img.shields.io/badge/docs-dev-blue [Rust Core]: core/README.md [Rust Core Image]: https://img.shields.io/crates/v/opendal.svg [Rust Core Link]: https://crates.io/crates/opendal [Rust Core Release Docs]: https://docs.rs/opendal [Rust Core Dev Docs]: https://opendal.apache.org/docs/rust/opendal/ [Rust Core Users Image]: https://github.com/user-attachments/assets/2726c336-8509-491d-92d8-1be2040d5136 [Rust Core Users]: core/users.md [C Binding]: bindings/c/README.md [C Binding Dev Docs]: https://opendal.apache.org/docs/c/ [C Binding Users Image]: https://github.com/user-attachments/assets/b1cf4d79-8478-4eac-ae04-0bbe0d6a993d [C Binding Users]: bindings/c/users.md [Cpp Binding]: bindings/cpp/README.md [Cpp Binding Dev Docs]: https://opendal.apache.org/docs/cpp/ [D Binding]: bindings/d/README.md [Dart Binding]: bindings/dart/README.md [Dotnet Binding]: bindings/dotnet/README.md [Go Binding]: bindings/go/README.md [Go Binding Image]: https://badge.fury.io/go/github.com%2Fapache%2Fopendal%2Fbindings%2Fgo.svg [Go Binding Link]: https://pkg.go.dev/github.com/apache/opendal/bindings/go [Go Release Docs]: https://pkg.go.dev/github.com/apache/opendal/bindings/go [Haskell Binding]: bindings/haskell/README.md [Java Binding]: bindings/java/README.md [Java Binding Image]: https://img.shields.io/maven-central/v/org.apache.opendal/opendal-java [Java Binding Link]: https://central.sonatype.com/artifact/org.apache.opendal/opendal-java [Java Binding Release Docs]: https://javadoc.io/doc/org.apache.opendal/opendal-java [Java Binding Dev Docs]: https://opendal.apache.org/docs/java/ [Java Binding Users Image]: https://github.com/user-attachments/assets/f20a59a9-8f23-4919-a165-980ed4e6e0d0 [Java Binding Users]: bindings/java/users.md [Lua Binding]: bindings/lua/README.md [Node.js Binding]: bindings/nodejs/README.md [Node.js Binding Image]: https://img.shields.io/npm/v/opendal [Node.js Binding Link]: https://www.npmjs.com/package/opendal [Node.js Binding Dev Docs]: https://opendal.apache.org/docs/nodejs/ [OCaml Binding]: bindings/ocaml/README.md [PHP Binding]: bindings/php/README.md [Python Binding]: bindings/python/README.md [Python Binding Image]: https://img.shields.io/pypi/v/opendal [Python Binding Link]: https://pypi.org/project/opendal/ [Python Binding Dev Docs]: https://opendal.apache.org/docs/python/ [Python Binding Users Image]: https://github.com/user-attachments/assets/6bba7e5b-cada-4cf2-81e3-09d4e4535dcb [Python Binding Users]: bindings/python/users.md [Ruby Binding]: bindings/ruby/README.md [Swift Binding]: bindings/swift/README.md [Zig Binding]: bindings/zig/README.md For *ANY* methods | Name | Description | Release | | ----- | ------------------------------------------------------------------ | ------------------------- | | [oli] | Access data via Command Line (alternative to s3cmd, s3cli, azcopy) | [![oli image]][oli crate] | | [ofs] | Access data via POSIX file system API (alternative to s3fs) | [![ofs image]][ofs crate] | [oli]: https://github.com/apache/opendal-oli [oli image]: https://img.shields.io/crates/v/oli.svg [oli crate]: https://crates.io/crates/oli [ofs]: https://github.com/apache/opendal-ofs [ofs image]: https://img.shields.io/crates/v/ofs.svg [ofs crate]: https://crates.io/crates/ofs For *ANY* integrations | Name | Description | Release | Docs | | ---------------------- | ----------------------------------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------------------------------- | | [dav-server-opendalfs] | a [dav-server-rs] implementation using opendal. | [![dav-server image]][dav-server crate] | [![Docs Release]][dav-server release docs] [![Docs Dev]][dav-server dev docs]…