apache / apache/arrow-rs-object-store
Object-store: Allow case-insensitive builder config options
- 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
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