apache / apache/arrow-rs-object-store

Object-store: Allow case-insensitive builder config options

Open
#269 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
322
Forks
212
Avg merge
5d 2h
Merged PRs (30d)
10

Description

**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**

I'm using `object-store` from a Python binding via [`object-store-python`](https://github.com/roeap/object-store-python). It passes config options from a Python dict into an e.g. `AmazonS3Builder` via [`with_config`](https://github.com/roeap/object-store-python/blob/445e9d7fa238fc3cd31cc2820caee0d8e10fedb8/object-store-internal/src/builder.rs#L191-L193). I'm used to passing config options in as upper case params, e.g. `"AWS_ACCESS_KEY_ID"`. It would be a small quality of life improvement to automatically allow upper-case config options.

**Describe the solution you'd like**

Call `to_lowercase()` when matching string input e.g. here:

https://github.com/apache/arrow-rs/blob/48fbb293c29ea73b78dfefa375efa53239fb0351/object_store/src/aws/builder.rs#L379

**Describe alternatives you've considered**

Higher level code, e.g. in `object-store-python`, could handle case conversions itself.

**Additional context**

Contributor guide

Open the contributing guide

Research direction

Start in object_store/src/aws/builder.rs at the config matching logic linked in the issue, and compare it with how object-store-python passes options through with_config. Update the matching behavior so uppercase inputs are accepted, then verify that an option such as AWS_ACCESS_KEY_ID resolves correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
backend, cloud
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.