MCPcopy Index your code
hub / github.com/apache/arrow-rs-object-store

github.com/apache/arrow-rs-object-store @v0.14.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.14.0 ↗ · + Follow
1,485 symbols 4,848 edges 61 files 426 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Rust Object Store

A focused, easy to use, idiomatic, high performance, async object store library for interacting with object stores.

Using this crate, the same binary and code can easily run in multiple clouds and local test environments, via a simple runtime configuration change. Supported object stores include:

Originally developed by InfluxData and later donated to Apache Arrow.

See docs.rs for usage instructions

See CONTRIBUTING.md to learn how to contribute to this project.

Support for wasm32-unknown-unknown target

It's possible to build object_store for the wasm32-unknown-unknown target, however the cloud storage features aws, azure, gcp, and http are not supported.

cargo build -p object_store --target wasm32-unknown-unknown

Disabling reqwest

The aws, azure, gcp, and http features each bundle a [reqwest]-based HTTP transport. To target [wasm32-wasip1] (where reqwest does not compile) or otherwise supply your own HTTP client, build against the matching *-base feature instead:

cargo build -p object_store --no-default-features --features aws-base --target wasm32-wasip1

See [Disabling reqwest] in the crate docs for full details.

Related Apache Crates

Here are several related crates in different repositories from other Apache projects.

Crate Description Documentation
[object_store_opendal] Use [opendal] as [object_store] backend (README)

Community Extensions

There following community maintained crates provide additional functionality for object_store and are NOT governed by the Apache Software Foundation. We list them below in the hope they may be useful, but they are not official Apache projects or endorsed by the Apache Arrow project.

Crate Description Documentation
[hdfs_native_object_store] Use HDFS as [object_store] backend (README)
[ic_object_store] Use ICP blockchain as [object_store] backend (README)
[anda_object_store] Extends the [object_store] with metadata management and AES-256-GCM encryption (README)

Release Schedule

The [object_store] crate follows Semantic Versioning. We aim to release new versions approximately every 2 months.

Please see the release tracker for an up to date release schedule, to track the progress of upcoming releases, and request features or fixes.

Planned Release Schedule

Approximate Date Version Notes Ticket
May 2026 0.14.0 Major, breaking API changes #673
Aug 2026 0.14.1 Minor, NO breaking API changes #761
Sep 2026 0.15.0 Major, breaking API changes #762

Extension points exported contracts — how you extend this code

Parse (Interface)
A value that can be stored in [`ConfigValue`] [10 implementers]
src/config.rs
Signer (Interface)
Sign a payload, see [`CryptoProvider::sign`] [6 implementers]
src/client/crypto.rs
ObjectStore (Interface)
(no doc) [11 implementers]
src/lib.rs
MultipartStore (Interface)
(no doc) [7 implementers]
src/multipart.rs
MultipartUpload (Interface)
(no doc) [9 implementers]
src/upload.rs
ObjectStoreRegistry (Interface)
[`ObjectStoreRegistry`] maps a URL to an [`ObjectStore`] instance [1 implementers]
src/registry.rs
PaginatedListStore (Interface)
(no doc) [3 implementers]
src/list.rs
RequestVersionExt (Interface)
Override the Azure Blob service version used for a single request. [`with_azure_authorization`](CredentialExt::with_azu [1 …
src/azure/client.rs

Core symbols most depended-on inside this repo

len
called by 89
src/attributes.rs
push
called by 87
src/client/mock_server.rs
get
called by 86
src/client/http/connection.rs
path
called by 86
src/http/client.rs
insert
called by 66
src/attributes.rs
body
called by 61
src/client/retry.rs
status
called by 57
src/client/retry.rs
get
called by 56
src/config.rs

Shape

Method 803
Function 400
Class 199
Enum 56
Interface 27

Languages

Rust100%

Modules by API surface

src/local.rs86 symbols
src/azure/client.rs73 symbols
src/azure/builder.rs67 symbols
src/aws/builder.rs65 symbols
src/aws/client.rs61 symbols
src/lib.rs60 symbols
src/gcp/credential.rs58 symbols
src/client/mod.rs52 symbols
src/azure/credential.rs48 symbols
src/aws/credential.rs48 symbols
src/gcp/builder.rs44 symbols
src/throttle.rs43 symbols

For agents

$ claude mcp add arrow-rs-object-store \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact