
Amazon S3
Scalable object storage service for unlimited data storage and retrieval with high durability and availability
Discover top open-source software, updated regularly with real-world adoption signals.

Unified data access layer for any storage service
Apache OpenDAL provides a single API to seamlessly access diverse storage services across multiple languages, from object stores to file systems.

Apache OpenDAL is a unified data access layer that abstracts the complexity of working with diverse storage backends. Whether you're interfacing with cloud object storage, local file systems, or distributed storage services, OpenDAL provides a consistent API that eliminates vendor lock-in and simplifies multi-cloud architectures.
With a Rust core and bindings for over 15 languages—including Python, Java, Go, Node.js, and C—OpenDAL meets developers where they are. The project is guided by principles of fast access, object storage optimization, and extensible architecture, making it suitable for data-intensive applications, ETL pipelines, and cloud-native workloads.
Beyond language bindings, OpenDAL offers multiple interaction modes: a command-line tool (oli) as an alternative to s3cmd and azcopy, a POSIX file system interface (ofs) replacing s3fs, and an API gateway (oay) for HTTP-based access. This flexibility allows teams to integrate OpenDAL into existing workflows without rewriting infrastructure.
When teams consider Apache OpenDAL, these hosted platforms usually appear on the same shortlist.

Scalable object storage service for unlimited data storage and retrieval with high durability and availability

Massively scalable cloud object storage service for unstructured data (images, videos, backups) with high durability

Scalable object storage for unstructured data
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Multi-Cloud Data Pipeline
Build ETL workflows that read from AWS S3, process data, and write to Azure Blob Storage using identical code patterns across environments.
Cloud Migration
Migrate applications between cloud providers by changing configuration rather than rewriting storage logic, reducing migration risk and cost.
Unified Backup Solution
Implement a single backup tool that writes to local storage, NAS, and multiple cloud providers without maintaining separate integration code.
Development-Production Parity
Use local filesystem storage in development and seamlessly switch to S3 or GCS in production without code changes, improving developer experience.
OpenDAL supports 50+ storage services including AWS S3, Azure Blob Storage, Google Cloud Storage, HDFS, local filesystems, FTP, WebDAV, and many others through a unified API.
OpenDAL has a Rust core with bindings for Python, Java, Go, Node.js, C, C++, and over 10 additional languages. Rust, Python, Java, and Go have official releases with comprehensive documentation.
OpenDAL provides a consistent abstraction across providers, trading some provider-specific features for portability and simplified multi-cloud support. It's optimized for object storage patterns with fast access performance.
Yes. OpenDAL includes oli (a CLI tool similar to s3cmd), ofs (a POSIX filesystem mount like s3fs), and oay (an API gateway), allowing storage access through command line, filesystem operations, or HTTP APIs.
Yes. As an Apache Software Foundation project, OpenDAL follows rigorous development standards. The Rust core and major language bindings (Python, Java) are actively used in production environments, as evidenced by the project's user base.
Project at a glance
ActiveLast synced 4 days ago