[{"data":1,"prerenderedAt":831},["ShallowReactive",2],{"project-17405722":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":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":47,"post_text":49,"what":50,"said":87,"maker_in_thread":174,"shape":183,"grid":187,"attempts":793,"same_week":794,"maker_shows":45,"maker_hidden":823,"reader_version":824,"card":825},"17405722","B2blaze","A Backblaze B2 library for Python","title","Show HN: B2blaze – A Backblaze B2 library for Python","https:\u002F\u002Fgithub.com\u002Fsibblegp\u002Fb2blaze","github.com","gsibble",1530073229,2018,359,224,54,2155,3,"legend","languages","python client library","library",[24,25,26,27],"backblaze b2","python","cloud storage","s3 alternative","curious",0.029,{"positive":31,"neutral":32,"mixed":18,"critical":31},16,37,72,{"pricing":35,"docs":38,"privacy":40,"performance":41,"execution":43,"idea":44,"design":46},{"positive":36,"critical":37},5,2,{"positive":39,"critical":39},0,{"positive":39,"critical":37},{"positive":18,"critical":42},9,{"positive":18,"critical":39},{"positive":45,"critical":39},1,{"positive":37,"critical":45},[48,18,36,39,39,39,39,39,18,45,45,39,39,39,39,39,39,39,39,36,39,39,48,18,18,37,18,45,45,18,48,48,37,36,45,45,48,36,37,37],4,null,{"problem":51,"audience":62,"pricing":49,"motivation":69,"time_to_build":75,"stack":79,"openness":85,"stage":85,"team_size":86},{"value":52,"source":53,"evidence":54},"Accessing Backblaze B2 storage from Python code without using the official tooling","inferred",[55,59],{"id":56,"by":57,"text":58},"17406461","metakermit","BTW, the Backblaze team themselves officially support a Python implementation of the API wrapper (the B2Api and Bucket classes):…",{"id":60,"by":11,"text":61},"17406494","Indeed. It's just never been publicized and personally I think the implementation could be better. Although with so many stars on this repo now I plan on maintaining it for the…",{"value":63,"source":64,"evidence":65},"Python developers building web apps and applications on Python","maker",[66],{"id":67,"by":11,"text":68},"17406745","This library is meant more for web apps and other applications built on Python. Not necessarily for backups.",{"value":70,"source":64,"evidence":71},"Written as a fun project in four days",[72],{"id":73,"by":11,"text":74},"17406395","I'm definitely going to add multi-threading. I wrote this library in 4 days (look at the commit history). It was just something fun to do.",{"value":76,"source":64,"evidence":77},"About 4 days",[78],{"id":73,"by":11,"text":74},[80],{"value":81,"source":64,"evidence":82},"Python",[83],{"id":84},"post","unknown","solo",{"praise":88,"objections":97,"requests":119,"questions":134,"alternatives":142},[89],{"value":90,"source":91,"evidence":92},"API feels similar to boto S3 API","commenter",[93],{"id":94,"by":95,"text":96},"17406245","Dawny33","The best part is this API looks and feels very similar to AWS's boto S3 API. Great job!",[98,105,112],{"value":99,"source":91,"evidence":100},"Multithreaded uploads not supported yet",[101],{"id":102,"by":103,"text":104},"17406094","voltagex_","Are you able to try multithreaded uploads too? I found that single stream uploads were too slow (\u003C 10 megabytes per second) but I could get ~35 megabytes per second from…",{"value":106,"source":91,"evidence":107},"Limited unit test coverage",[108],{"id":109,"by":110,"text":111},"17406699","piqufoh","This feels like a handy tool! The first thing I read when opening new code is the test suite - it's worth getting that right at the start. Would you consider deeper unit testing?…",{"value":113,"source":91,"evidence":114},"B2 lacks S3-compatible API, requiring custom SDKs",[115],{"id":116,"by":117,"text":118},"17407374","tobias3","This whole library wouldn't be necessary if Backbalze implemented a S3 compatible API. They give reasons like being able to load balance on the client for their API (which I do…",[120,124,128],{"value":121,"source":91,"evidence":122},"Add multithreaded uploads",[123],{"id":102,"by":103,"text":104},{"value":125,"source":91,"evidence":126},"Deeper unit testing with mocks",[127],{"id":109,"by":110,"text":111},{"value":129,"source":64,"evidence":130},"Django integration",[131],{"id":132,"by":11,"text":133},"17406793","I saw that one. I'm not a particular fan of Django but integrating my library apart from Django's storage library wouldn't be difficult. Neither would be building a django…",[135],{"value":136,"source":91,"evidence":137},"Whether B2 supports pre-signed upload URLs",[138],{"id":139,"by":140,"text":141},"17407643","gtt","Can I use B2 as replacement for S3? Namely, I need \"get upload URL\" like pre-signed S3 URLs.",[143,147,154,161,167],{"value":144,"source":91,"evidence":145},"Official Backblaze B2 Python API classes",[146],{"id":56,"by":57,"text":58},{"value":148,"source":91,"evidence":149},"rclone",[150],{"id":151,"by":152,"text":153},"17406178","ereyes01","I use rclone's B2 driver (https:\u002F\u002Frclone.org\u002Fb2\u002F) as an rsync-style backup solution of about 1TB worth of my pictures and other media. Also, it's encrypted with my own local key…",{"value":155,"source":91,"evidence":156},"restic",[157],{"id":158,"by":159,"text":160},"17406780","james_in_the_uk","In the spirit of sharing details of open source tools that work well with B2, I am using restic and finding it to work well.",{"value":162,"source":64,"evidence":163},"Minio",[164],{"id":165,"by":11,"text":166},"17406341","The idea behind this was to avoid Minio at least when using Python with a very simple to use SDK.",{"value":168,"source":91,"evidence":169},"Wasabi",[170],{"id":171,"by":172,"text":173},"17406349","simula67","> Backblaze B2 provides the cheapest cloud object storage and transfer available on the internet Are you sure ? http:\u002F\u002Fgaul.org\u002Fobject-store-comparison\u002F says there are cheaper…",{"comments":175,"answered":176,"key":177},20,7,[178,179,180],{"id":60,"text":61},{"id":132,"text":133},{"id":181,"text":182},"17406711","B2 is warm storage much more like S3 while cold storage is like glacier.",{"commenters":184,"max_depth":42,"maker_replies":175,"first_comment_mins":185,"lifespan_hours":186},122,105,87,[188,190,194,198,200,204,208,211,214,217,220,223,227,229,231,235,238,242,245,248,251,253,256,258,260,263,266,269,271,273,275,278,281,284,287,290,293,295,297,299,301,303,306,309,311,314,316,318,321,324,327,330,332,336,339,342,345,349,352,356,359,363,365,368,371,374,378,380,382,385,388,392,394,397,399,402,405,408,411,413,417,419,422,425,427,431,434,436,439,442,444,446,448,451,454,457,459,462,464,467,470,473,476,479,482,484,486,489,492,494,496,498,501,503,505,508,510,512,514,517,518,521,523,525,527,530,533,535,539,542,544,547,549,553,556,559,561,563,566,568,570,574,576,578,581,583,584,587,590,593,596,599,600,603,606,608,610,613,617,620,622,625,627,629,631,634,637,639,642,645,648,651,653,656,658,660,662,666,669,672,674,677,679,682,684,688,690,692,697,699,702,704,708,710,712,715,717,719,722,724,726,729,731,734,736,739,741,744,748,749,751,755,758,762,764,767,771,775,777,779,781,784,787,789],[151,39,36,189,152,39],"project\u002Fpositive\u002Fpricing",[191,39,39,192,193,39],"17406765","commenter\u002Fneutral\u002Fprivacy","bad_user",[195,39,18,196,197,39],"17407218","project\u002Fneutral\u002Fdocs","tushartyagi",[199,39,18,196,193,39],"17407323",[201,39,18,202,203,39],"17407510","project\u002Fneutral\u002Fpricing","extra88",[205,39,39,206,207,39],"17407539","other\u002Fneutral\u002Fprivacy","candiodari",[209,39,18,196,210,39],"17407629","gizmo686",[212,39,18,196,213,39],"17409502","brianwski",[215,39,39,192,216,39],"17407477","eddieroger",[218,39,39,192,219,39],"17407543","sdhgaiojfsa",[221,39,39,192,222,39],"17407594","scarface74",[224,39,39,225,226,39],"17410014","other\u002Fneutral\u002Fnone","d0mine",[228,39,39,192,216,39],"17419996",[158,39,36,230,159,39],"project\u002Fpositive\u002Fnone",[232,39,18,233,234,39],"17407833","project\u002Fneutral\u002Fnone","jpeeler",[236,39,39,225,237,39],"17419851","AgentME",[239,39,39,240,241,39],"17406964","commenter\u002Fneutral\u002Fnone","kachurovskiy",[243,39,39,240,244,39],"17406981","chillydawg",[246,39,39,240,247,39],"17406984","chowell",[249,39,39,240,250,39],"17406994","billyhoffman",[252,39,39,240,241,39],"17407146",[254,39,39,240,255,39],"17407256","nathankunicki",[257,39,39,240,222,39],"17407298",[259,39,39,240,241,39],"17407561",[261,39,39,240,262,39],"17407798","eitland",[264,39,39,240,265,39],"17419607","beagle3",[267,39,39,225,268,39],"17407172","voidmain0001",[270,39,39,225,222,39],"17407307",[272,39,39,225,268,39],"17407651",[274,39,39,225,222,39],"17407882",[276,39,39,240,277,39],"17407131","TomVDB",[279,39,39,240,280,39],"17407137","ryanplant-au",[282,39,39,240,283,39],"17407856","magnetic",[285,39,39,225,286,39],"17409584","parliament32",[288,39,39,225,289,39],"17410161","ajb",[291,39,39,240,292,39],"17409921","riobard",[294,39,39,240,283,39],"17412878",[296,39,39,240,292,39],"17416104",[298,39,39,225,283,39],"17419005",[300,39,39,240,292,39],"17425257",[302,39,39,240,265,39],"17419577",[304,39,39,240,305,39],"17407139","cbluth",[307,39,39,225,308,39],"17407290","ghaff",[310,39,39,225,213,39],"17409586",[312,39,39,240,313,39],"17407783","tscs37",[315,39,39,240,152,39],"17408619",[317,39,39,225,213,39],"17409556",[319,39,39,240,320,39],"17407126","artpar",[322,39,18,233,323,39],"17407312","MacroChip",[325,39,18,202,326,39],"17407435","tomfanning",[328,39,39,240,329,39],"17407333","bollockitis",[331,39,39,240,152,39],"17410609",[333,39,45,334,335,39],"17407604","project\u002Fcritical\u002Fprivacy","gordo4",[337,39,39,192,338,39],"17407900","Operyl",[340,39,39,192,341,39],"17408055","howeyc",[343,39,39,192,344,39],"17408250","namibj",[346,39,45,347,348,39],"17407724","project\u002Fcritical\u002Fperformance","asenna",[350,45,39,225,351,39],"17406856","weitzj",[353,45,39,354,355,39],"17407163","other\u002Fneutral\u002Fpricing","alexktz",[357,45,39,354,358,39],"17407777","anc84",[360,45,39,361,362,39],"17408030","commenter\u002Fneutral\u002Fpricing","Karunamon",[364,45,39,240,213,39],"17409657",[366,45,39,361,367,39],"17410984","rsync",[369,45,39,370,362,39],"17411933","commenter\u002Fcritical\u002Fdesign",[372,45,39,354,373,39],"17407805","coaxial",[375,45,39,376,377,39],"17408392","other\u002Fpositive\u002Fpricing","StavrosK",[379,45,39,354,367,39],"17411164",[381,45,39,376,377,39],"17411228",[383,45,39,354,384,39],"17417626","pnutjam",[386,45,39,387,377,39],"17417836","other\u002Fpositive\u002Fnone",[389,45,39,390,391,39],"17408767","other\u002Fcritical\u002Fpricing","tbe",[393,45,39,354,367,39],"17411137",[395,45,39,225,396,39],"17408624","cristoperb",[398,45,39,225,367,39],"17411090",[400,45,39,225,401,39],"17432376","cahuk",[403,37,39,225,404,39],"17406303","krn",[406,37,39,376,407,39],"17406316","hardwaresofton",[409,37,39,225,410,39],"17406424","apkallum",[412,37,39,376,407,39],"17415271",[414,37,39,415,416,39],"17406500","other\u002Fcritical\u002Fprivacy","smcleod",[418,37,39,206,404,39],"17406599",[420,37,39,240,421,39],"17406968","Zekio",[423,37,39,240,424,39],"17407426","josteink",[426,37,39,354,358,39],"17407703",[428,37,39,429,430,39],"17406331","other\u002Fneutral\u002Fperformance","mprev",[432,37,39,429,433,39],"17406392","metafunctor",[435,37,39,225,404,39],"17406734",[437,37,39,225,438,39],"17406801","tiatia123",[440,37,39,225,441,39],"17406892","JosephRedfern",[443,37,39,225,244,39],"17407002",[445,37,39,225,441,39],"17406886",[447,37,39,225,433,39],"17407288",[449,37,39,429,450,39],"17406750","iicc",[452,37,39,225,453,39],"17406333","m_mueller",[455,37,39,456,404,39],"17406335","other\u002Fcritical\u002Fperformance",[458,37,39,225,453,39],"17406986",[460,37,39,429,461,39],"17408450","homarp",[463,37,39,240,255,39],"17407277",[465,37,39,466,404,39],"17407614","commenter\u002Fcritical\u002Fnone",[468,37,39,206,469,39],"17406779","urtrs",[471,37,39,192,472,39],"17406882","deno",[474,37,39,240,475,39],"17407105","paulie_a",[477,37,39,240,478,39],"17407354","ar-jan",[480,37,39,240,481,39],"17407142","benbristow",[483,37,39,240,478,39],"17407347",[485,37,39,240,481,39],"17426435",[487,37,39,206,488,39],"17407154","Moter8",[490,37,39,225,491,39],"17407187","untangle",[493,37,39,354,384,39],"17417666",[56,18,36,495,57,39],"project\u002Fpositive\u002Fexecution",[60,18,39,497,11,45],"maker\u002Fpositive\u002Fnone",[499,18,18,500,57,39],"17406784","project\u002Fneutral\u002Fidea",[132,18,39,502,11,45],"maker\u002Fneutral\u002Fidea",[504,48,39,354,222,39],"17407275",[506,48,39,507,424,39],"17407396","other\u002Fcritical\u002Fnone",[509,48,39,240,222,39],"17407413",[511,48,39,507,424,39],"17407448",[513,48,39,225,222,39],"17407506",[515,36,39,354,516,39],"17406630","Aissen",[181,36,39,240,11,45],[519,36,39,225,520,39],"17406754","qeternity",[522,36,39,240,516,39],"17406794",[524,36,39,225,520,39],"17407351",[526,36,39,240,516,39],"17407525",[528,36,18,529,213,39],"17409741","project\u002Fneutral\u002Fdesign",[531,36,36,532,237,39],"17421482","project\u002Fpositive\u002Fdesign",[534,36,18,233,472,39],"17406907",[536,537,18,202,538,39],"17406240",6,"logeek",[540,537,36,189,541,39],"17406307","programmarchy",[543,537,39,225,516,39],"17406602",[545,537,18,233,546,39],"17406378","agopaul",[548,537,39,233,11,45],"17406398",[550,537,45,551,552,39],"17406488","project\u002Fcritical\u002Fnone","snvzz",[554,537,39,555,11,45],"17406504","maker\u002Fneutral\u002Fpricing",[557,537,18,233,558,39],"17406634","kccqzy",[560,537,18,202,552,39],"17410791",[562,537,45,551,222,39],"17407344",[564,537,39,354,565,39],"17407153","pas",[567,537,36,189,222,39],"17407335",[102,176,18,569,103,39],"project\u002Fneutral\u002Fperformance",[571,176,18,572,573,39],"17406164","project\u002Fneutral\u002Fexecution","thisacctforreal",[575,176,18,569,103,39],"17406184",[577,176,18,569,213,39],"17409837",[579,176,39,580,11,45],"17406279","maker\u002Fneutral\u002Fexecution",[582,176,45,347,103,39],"17406354",[73,176,39,580,11,45],[116,585,45,586,117,39],8,"project\u002Fcritical\u002Fdesign",[588,585,39,240,589,39],"17407685","ianamartin",[591,585,39,225,592,39],"17409119","gaul",[594,42,18,233,595,39],"17406078","dzek69",[597,42,36,495,598,39],"17406103","trigoman",[165,42,39,502,11,45],[601,42,45,347,602,39],"17406112","chrisper",[604,42,18,569,605,39],"17406237","jonatron",[607,42,39,569,11,45],"17406350",[609,42,39,240,103,39],"17406429",[611,42,39,612,11,45],"17406478","maker\u002Fneutral\u002Fperformance",[614,42,18,615,616,39],"17407518","project\u002Fmixed\u002Fperformance","glenneroo",[618,42,39,240,619,39],"17406561","monort",[621,42,39,240,103,39],"17406818",[623,42,45,624,103,39],"17406359","project\u002Fcritical\u002Fpricing",[626,42,39,555,11,45],"17406603",[628,42,18,202,344,39],"17408640",[630,42,18,569,103,39],"17413143",[632,42,45,347,633,39],"17406258","GordonS",[635,42,36,636,616,39],"17407476","project\u002Fpositive\u002Fperformance",[638,42,18,569,633,39],"17423066",[640,42,39,225,641,39],"17406280","tribaal",[643,42,39,225,644,39],"17406323","sschueller",[646,42,39,225,647,39],"17407580","haywirez",[649,42,36,636,650,39],"17406503","icefo",[652,42,36,636,602,39],"17406696",[654,42,45,347,655,39],"17406648","lloeki",[657,42,18,569,213,39],"17409877",[659,42,18,233,655,39],"17415148",[661,42,18,569,213,39],"17409868",[663,42,18,664,665,39],"17406134","project\u002Fmixed\u002Fnone","manigandham",[667,42,36,189,668,39],"17406196","lithiumfrost",[670,42,18,664,671,39],"17406140","maxyme",[673,42,39,240,103,39],"17406363",[675,42,45,347,676,39],"17406265","yani",[678,42,45,347,647,39],"17407460",[109,680,36,681,110,39],10,"maker\u002Fpositive\u002Fexecution",[683,680,39,580,11,45],"17406708",[685,686,39,507,687,39],"17407846",11,"post_break",[689,686,39,225,213,39],"17409768",[691,686,39,225,687,39],"17410055",[693,694,36,695,696,39],"17407043",12,"project\u002Fpositive\u002Fidea","erickj",[698,694,39,240,11,45],"17407077",[94,700,36,701,95,39],13,"maker\u002Fpositive\u002Fdesign",[703,700,39,497,11,45],"17406277",[705,706,45,334,707,39],"17406275",14,"DanielDent",[709,706,39,192,103,39],"17406347",[711,706,39,192,707,39],"17406405",[713,706,18,714,103,39],"17406446","project\u002Fneutral\u002Fprivacy",[716,706,39,192,707,39],"17406499",[171,718,45,624,172,39],15,[720,718,39,721,11,45],"17406358","maker\u002Fneutral\u002Fnone",[723,718,39,240,172,39],"17406664",[725,718,39,354,520,39],"17406731",[727,718,39,354,728,39],"17407741","koolba",[730,718,36,189,520,39],"17406366",[732,718,18,202,733,39],"17407053","subbu",[735,718,18,202,520,39],"17407356",[737,718,18,202,738,39],"17406416","SjuulJanssen",[740,718,39,240,11,45],"17406449",[742,31,18,572,743,39],"17407097","Sami_Lehtinen",[745,746,39,225,747,39],"17406304",17,"Neil44",[67,746,39,502,11,45],[139,750,18,500,140,39],18,[752,753,39,225,754,39],"17407110",19,"artellectual",[756,175,36,230,757,39],"17409182","jonotime",[759,760,18,500,761,39],"17406201",21,"scottybowl",[763,760,39,233,11,45],"17406286",[765,760,39,225,766,39],"17406770","shakna",[768,769,39,225,770,39],"17410476",22,"hinkley",[772,773,45,347,774,39],"17407755",23,"iosDrone",[776,773,18,569,344,39],"17408662",[778,773,18,569,213,39],"17410051",[780,773,18,569,774,39],"17429083",[782,783,39,225,11,45],"17406626",24,[785,783,39,225,786,39],"17408527","sctb",[788,783,39,225,11,45],"17411335",[790,791,45,347,792,39],"17407455",25,"brian_herman",[],[795,800,805,810,814,819],{"id":796,"name":797,"points":798,"category":799},"17365150","Why Do I Procrastinate?",611,"productivity",{"id":801,"name":802,"points":803,"category":804},"17373465","Material Dashboard",436,"dev_tools",{"id":806,"name":807,"points":808,"category":809},"17400164","mimic-bloomberg-menu-no-js",355,"learning_science",{"id":811,"name":812,"points":813,"category":20},"17398506","The Vue.js Handbook",262,{"id":815,"name":816,"points":817,"category":818},"17377088","Kanji RNN",166,"ai",{"id":820,"name":821,"points":822,"category":804},"17385051","Instagram-scraper",165,false,"v2",{"id":826,"name":5,"line":6,"ai":823,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":827,"top":18,"kw":828,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":829,"url":9,"mix":830,"praise":90,"objection":99,"sub":21},17405722,0.03,[24,25,26,27],"4350000031100000000500433231134425114522",[31,32,18,31],1794036567272]