doc: Add explanation of when to use obstore's HttpStore vs obspec-utils AiohttpReadableStore
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 52/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- python
- Domain
- documentation
Research direction
Review the existing documentation and the AiohttpReadableStore and HttpStore APIs, using issue #50 for context on AiohttpStore limitations. Done means the docs clearly explain the preferred store, the WebDAV exception, HTTP listing and credential differences, and the caveat about current AiohttpStore improvements.
Written by the indexing model from the issue text.
Description
a common question that's worth addressing in the docs. The wisdom Kyle shared is that most times you'd prefer the AiohttpReadableStore unless using something that HttpStore is built for, like WebDAV. The reasoning is that obstore's underlying Rust crate focuses on object store-like backends (e.g., S3, GCS, Azure), but pure HTTP doesn't define the full set of actions of an object store. It's misleading to use HTTPStore for HTTP access, because the HTTP spec doesn't define list whereas HTTPStore (build of object storage) declares that list would be available.
"With aiohttp and obspec and obspec-utils you're able to declare that you're providing only, say, get, get ranges, while not falsely declaring that you're providing list, etc. Also, a generic HTTP client gives you full access to underlying credential methods. HTTPStore doesn't let you add, say, a query string with an API key, because it's not trying to serve as a fully generic HTTP client"
A caveat is that there are still improvements needed for the AiohttpStore (xref #50)
- Dominant language
- Python
- Stars
- 12
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from developmentseed/obspec-utils
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
developmentseed/obspec-utils#93 · 1 comment ·
-
resolve() truncates object keys containing '#', '?', or ';' (breaks special-char keys and presigned URLs)Possibly taken @TomNicholas claimed this 85 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
developmentseed/obspec-utils#79 · 4 comments ·
-
Switch docs hosting to developmentseed domainMay be free again @maxrjones claimed this 166 days ago, and no pull request is open. Open
developmentseed/obspec-utils#67 · 1 comment · 1 assignee ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
developmentseed/obspec-utils#62 · 1 comment ·
All issues in developmentseed/obspec-utils
Similar issues
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
darnitdevorg/darnit#587 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
accessibility good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
llm translation
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug bug-hunt
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day