Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 4.49 KB

CHANGELOG.md

File metadata and controls

65 lines (44 loc) · 4.49 KB

Changelog

[0.3.0] - 2025-01-16

New Features 🪄

  • Streaming uploads. obstore.put now supports iterable input, and obstore.put_async now supports async iterable input. This means you can pass the output of obstore.get_async directly into obstore.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 the config 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 and obstore.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

Breaking changes 🔧

  • get_range, get_range_async, get_ranges, and get_ranges_async now use start/end instead of offset/length. This is for consistency with the range option of obstore.get. by @kylebarron in #71
  • Return Bytes from GetResult.bytes() by @kylebarron in #134

Bug fixes 🐛

  • boto3 region name can be None by @kylebarron in #59
  • add missing py.typed file by @gruebel in #115

Documentation 📖

  • 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

What's Changed

  • Improved docs for from_url by @kylebarron in #138
  • Implement read_all for async iterable by @kylebarron in #140

New Contributors

  • @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

[0.2.0] - 2024-10-25

What's Changed

  • 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 from list as Arrow RecordBatches, which is faster than materializing Python dicts/lists. by @kylebarron in #38
  • Return buffer protocol object from get_range and get_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

[0.1.0] - 2024-10-21

  • Initial release.