- Streaming uploads.
obstore.put
now supports iterable input, andobstore.put_async
now supports async iterable input. This means you can pass the output ofobstore.get_async
directly intoobstore.put_async
. by @kylebarron in #54 - Allow passing config options directly as keyword arguments. Previously, you had to pass all options as a
dict
into theconfig
parameter. Now you can pass the elements directly to the store constructor. by @kylebarron in #144 - Readable file-like objects. Open a readable file-like object with
obstore.open
andobstore.open_async
. by @kylebarron in #33 - Fsspec integration by @martindurant in #63
- Prefix store by @kylebarron in #117
- Python 3.13 wheels by @kylebarron in #95
- Support python timedelta objects as duration config values by @kylebarron in #146
- Add class constructors for store builders. Each store now has an
__init__
method, for easier construction. by @kylebarron in #141
get_range
,get_range_async
,get_ranges
, andget_ranges_async
now use start/end instead of offset/length. This is for consistency with therange
option ofobstore.get
. by @kylebarron in #71
- Return
Bytes
fromGetResult.bytes()
by @kylebarron in #134
- FastAPI/Starlette example by @kylebarron in #145
- Add conda installation doc to README by @kylebarron in #78
- Document suggested lifecycle rules for aborted multipart uploads by @kylebarron in #139
- Add type hint and documentation for requester pays by @kylebarron in #131
- Add note that S3Store can be constructed without boto3 by @kylebarron in #108
- HTTP Store usage example by @kylebarron in #142
- Improved docs for from_url by @kylebarron in #138
- Implement read_all for async iterable by @kylebarron in #140
- @willemarcel made their first contribution in #64
- @martindurant made their first contribution in #63
- @norlandrhagen made their first contribution in #107
- @gruebel made their first contribution in #115
Full Changelog: https://github.com/developmentseed/obstore/compare/py-v0.2.0...py-v0.3.0
- Streaming list results.
list
now returns an async or sync generator. by @kylebarron in #35 - Optionally return list result as arrow. The
return_arrow
keyword argument returns chunks fromlist
as Arrow RecordBatches, which is faster than materializing Python dicts/lists. by @kylebarron in #38 - Return buffer protocol object from
get_range
andget_ranges
. Enables zero-copy data exchange from Rust into Python. by @kylebarron in #39 - Add put options. Enables custom tags and attributes, as well as "put if not exists". by @kylebarron in #50
- Rename to obstore by @kylebarron in #45
- Add custom exceptions. by @kylebarron in #48
Full Changelog: https://github.com/developmentseed/obstore/compare/py-v0.1.0...py-v0.2.0
- Initial release.