| 
15 | 15 |     from collections.abc import AsyncGenerator, Coroutine, Iterable  | 
16 | 16 |     from typing import Any  | 
17 | 17 | 
 
  | 
 | 18 | +    from obstore import Buffer as ObjectStoreBuffer  | 
18 | 19 |     from obstore import ListStream, ObjectMeta  | 
19 | 20 |     from obstore.store import ObjectStore as _ObjectStore  | 
20 | 21 | 
 
  | 
@@ -71,21 +72,21 @@ async def get_partial_values(  | 
71 | 72 |         for idx, (path, range_) in enumerate(key_ranges):  | 
72 | 73 |             per_file_requests[path].append((range_[0], range_[1], idx))  | 
73 | 74 | 
 
  | 
74 |  | -        futs: list[Coroutine[Any, Any, list[bytes]]] = []  | 
 | 75 | +        futs: list[Coroutine[Any, Any, list[ObjectStoreBuffer]]] = []  | 
75 | 76 |         for path, ranges in per_file_requests.items():  | 
76 |  | -            offsets = [r[0] for r in ranges]  | 
77 |  | -            lengths = [r[1] - r[0] for r in ranges]  | 
78 |  | -            fut = obs.get_ranges_async(self.store, path, offsets=offsets, lengths=lengths)  | 
 | 77 | +            starts = [r[0] for r in ranges]  | 
 | 78 | +            ends = [r[1] for r in ranges]  | 
 | 79 | +            fut = obs.get_ranges_async(self.store, path, starts=starts, ends=ends)  | 
79 | 80 |             futs.append(fut)  | 
80 | 81 | 
 
  | 
81 | 82 |         result = await asyncio.gather(*futs)  | 
82 | 83 | 
 
  | 
83 |  | -        output_buffers: list[bytes] = [b""] * len(key_ranges)  | 
 | 84 | +        output_buffers: list[type[BufferPrototype]] = [b""] * len(key_ranges)  | 
84 | 85 |         for per_file_request, buffers in zip(per_file_requests.items(), result, strict=True):  | 
85 | 86 |             path, ranges = per_file_request  | 
86 | 87 |             for buffer, ranges_ in zip(buffers, ranges, strict=True):  | 
87 | 88 |                 initial_index = ranges_[2]  | 
88 |  | -                output_buffers[initial_index] = buffer  | 
 | 89 | +                output_buffers[initial_index] = prototype.buffer.from_buffer(memoryview(buffer))  | 
89 | 90 | 
 
  | 
90 | 91 |         return output_buffers  | 
91 | 92 | 
 
  | 
 | 
0 commit comments