[{"data":1,"prerenderedAt":136},["ShallowReactive",2],{"project-42071872":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":15,"aspects":34,"strip":37,"post_text":30,"what":40,"said":58,"maker_in_thread":87,"shape":89,"grid":92,"attempts":97,"same_week":98,"maker_shows":128,"maker_hidden":129,"reader_version":130,"card":131},"42071872","OpenDAL","OpenDAL, one API to access all the storages (S3, Azblob, HDFS, etc.)","title","Show HN: OpenDAL, one API to access all the storages (S3, Azblob, HDFS, etc.)","https:\u002F\u002Fgithub.com\u002Fapache\u002Fopendal","github.com","tison",1730939954,2024,30,2,1604,3515,46,"shown","infrastructure","storage access library","library",[24,25,26,27,28],"object storage","s3 api","storage abstraction","hdfs","seek range read","quiet",null,{"positive":32,"neutral":32,"mixed":33,"critical":33},1,0,{"performance":35,"docs":36},{"positive":33,"critical":33},{"positive":32,"critical":33},[38,39],3,5,{"problem":41,"audience":30,"pricing":30,"motivation":30,"time_to_build":30,"stack":47,"openness":56,"stage":57,"team_size":57},{"value":42,"source":43,"evidence":44},"Accessing many different storage backends through one API","maker",[45],{"id":46},"post",[48],{"value":49,"source":50,"evidence":51},"Rust","commenter",[52],{"id":53,"by":54,"text":55},"42083470","xuanwo","Yes, opendal supports seek. For example: ``` use std::io; use std::io::SeekFrom; use futures::io::AsyncReadExt; use opendal::Operator; use opendal::Result; async fn test(op:…","open_source","unknown",{"praise":59,"objections":64,"requests":65,"questions":66,"alternatives":74},[60],{"value":61,"source":50,"evidence":62},"Supports seek so partial file reads work on compatible backends",[63],{"id":53,"by":54,"text":55},[],[],[67],{"value":68,"source":50,"evidence":69},"Does it support seek or download whole files each time?",[70],{"id":71,"by":72,"text":73},"42076299","antman","Does it work with seek requests for partially accessing files for backends that support it, or does it download the whole file each time? Python similar: smart_open,…",[75,79,83],{"value":76,"source":50,"evidence":77},"smart_open",[78],{"id":71,"by":72,"text":73},{"value":80,"source":50,"evidence":81},"universal_pathlib",[82],{"id":71,"by":72,"text":73},{"value":84,"source":50,"evidence":85},"fsspec",[86],{"id":71,"by":72,"text":73},{"comments":33,"answered":33,"key":88},[],{"commenters":15,"max_depth":15,"maker_replies":33,"first_comment_mins":90,"lifespan_hours":91},746,26,[93,95],[71,33,38,94,72,33],"project\u002Fneutral\u002Fperformance",[53,33,39,96,54,33],"project\u002Fpositive\u002Fdocs",[],[99,104,109,114,118,123],{"id":100,"name":101,"points":102,"category":103},"42082430","Jamcorder",590,"hardware",{"id":105,"name":106,"points":107,"category":108},"42093511","HTML-to-Markdown",360,"dev_tools",{"id":110,"name":111,"points":112,"category":113},"42118039","Stretch My Time Off",358,"productivity",{"id":115,"name":116,"points":117,"category":113},"42119042","Jelly",338,{"id":119,"name":120,"points":121,"category":122},"42085036","Asterogue",331,"games",{"id":124,"name":125,"points":126,"category":127},"42095879","Jaws",290,"languages",6,false,"v2",{"id":132,"name":5,"line":6,"ai":129,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":133,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":134,"url":9,"mix":135,"praise":61,"objection":-1,"sub":21},42071872,[24,25,26,27,28],"35",[32,32,33,33],1794036663968]