[{"data":1,"prerenderedAt":317},["ShallowReactive",2],{"project-13506670":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":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":40,"post_text":41,"what":42,"said":79,"maker_in_thread":187,"shape":200,"grid":205,"attempts":280,"same_week":281,"maker_shows":189,"maker_hidden":310,"reader_version":311,"card":312},"13506670","Pydb","a lightweight database with Python syntax queries, using ZeroMQ","title","Show HN: Pydb – a lightweight database with Python syntax queries, using ZeroMQ","https:\u002F\u002Fgithub.com\u002Fasrp\u002Fpydb","github.com","asrp",1485617145,2017,130,31,321,2242,15,"notable","data","embedded database","library",[24,25,21,26],"python database","zeromq","python queries","debated",-0.01,{"positive":30,"neutral":31,"mixed":32,"critical":30},5,7,0,17,{"idea":35,"execution":38,"design":39},{"positive":36,"critical":37},3,1,{"positive":32,"critical":37},{"positive":37,"critical":37},[37,32,32,37,30,32,32,32,32,36,32,30,36,32,32,37,32,32,32,32,32,37,30,36,37,36,36,36,30,36,30],null,{"problem":43,"audience":55,"pricing":41,"motivation":41,"time_to_build":41,"stack":63,"openness":77,"stage":78,"team_size":78},{"value":44,"source":45,"evidence":46},"Persistent state for small Python scripts without files or external databases","inferred",[47,51],{"id":48,"by":49,"text":50},"13507363","jmduke","It might not hold up to heavy use cases, but I can already imagine a bunch of ways this would make my life easier (I use Python scripts to handle a bunch of social media stuff…",{"id":52,"by":53,"text":54},"13507587","daenney","What's the purpose\u002Fgain of layering ZMQ into this? I read the architecture bit but I'm still unclear as to what benefit this brings. I guess it allows for multiple clients to use…",{"value":56,"source":45,"evidence":57},"Python developers needing toy or small-scale persistent storage",[58,59],{"id":48,"by":49,"text":50},{"id":60,"by":61,"text":62},"13507516","vapemaster","Seems like this could be a good idea for small personal or temporary dashboards. Especially those with viz powered by packages that work natively with Python data structures like…",[64,70],{"value":65,"source":66,"evidence":67},"Python","maker",[68],{"id":69},"post",{"value":71,"source":66,"evidence":72},"ZeroMQ",[73,74],{"id":69},{"id":75,"by":11,"text":76},"13507982","As you correctly observed, I mainly used ZeroMQ for the fan-in, so I need only consider one request at a time without worrying about chunking, disconnection or other lower…","open_source","unknown",{"praise":80,"objections":98,"requests":124,"questions":139,"alternatives":150},[81,87],{"value":82,"source":83,"evidence":84},"Useful for small Python scripts and personal dashboards","commenter",[85,86],{"id":48,"by":49,"text":50},{"id":60,"by":61,"text":62},{"value":88,"source":83,"evidence":89},"Interesting idea, a better shelve",[90,94],{"id":91,"by":92,"text":93},"13507403","d0vs","Looks like a better shelve https:\u002F\u002Fdocs.python.org\u002F3.6\u002Flibrary\u002Fshelve.html",{"id":95,"by":96,"text":97},"13506829","gigatexal","Hmm this is pretty interesting. Going to check this out.",[99,106,113,117],{"value":100,"source":83,"evidence":101},"Vanilla ZeroMQ gives no reliable delivery guarantees",[102],{"id":103,"by":104,"text":105},"13515450","toumorokoshi","vanilla zeromq is a pretty bad choice for any database. zmq explicitly makes no guarantees about reliable delivery, so losing random inserts or queries here or there would be…",{"value":107,"source":83,"evidence":108},"Name clashes with the existing pydb debugger package on PyPI",[109],{"id":110,"by":111,"text":112},"13507713","goerz","There's already an (albeit deprecated) debugger package called pydb (http:\u002F\u002Fbashdb.sourceforge.net\u002Fpydb\u002F). It would be good to choose a different name for this, most importantly…",{"value":114,"source":83,"evidence":115},"Unclear what advantage ZeroMQ adds",[116],{"id":52,"by":53,"text":54},{"value":118,"source":83,"evidence":119},"Why use this over SQLite",[120],{"id":121,"by":122,"text":123},"13511846","nerdponx","Why would I want to use this over SQLite?",[125,129],{"value":126,"source":83,"evidence":127},"Way to start the server from within the client",[128],{"id":48,"by":49,"text":50},{"value":130,"source":83,"evidence":131},"Proper packaging for pip install",[132,136],{"id":133,"by":134,"text":135},"13507429","jlpdyh","You could use `-e git:\u002F\u002Fgithub.com\u002Fasrp\u002Fundoable` in requirements.txt to save some steps.",{"id":137,"by":11,"text":138},"13508184","Oh, thanks, I wasn't aware of that flag. Though for the moment ``` pip install -e git:\u002F\u002Fgithub.com\u002Fasrp\u002Fundoable#egg=undoable ``` tells me `setup.py` doesn't exist (because it…",[140,144],{"value":141,"source":83,"evidence":142},"Why ZeroMQ is used and what it gains",[143],{"id":52,"by":53,"text":54},{"value":145,"source":83,"evidence":146},"How nesting is handled",[147],{"id":148,"by":11,"text":149},"13509512","Interesting! I will have to take a deeper look at BlitzDB. I don't know much about MongoDB (so probably wouldn't be a good maintainer) but the sample code looks good. I can't…",[151,158,165,172,176,183],{"value":152,"source":83,"evidence":153},"BlitzDB",[154],{"id":155,"by":156,"text":157},"13507787","ThePhysicist","I wrote a similar library -BlitzDB- a while ago: https:\u002F\u002Fgithub.com\u002Fadewes\u002Fblitzdb It's a pure Python database engine with a MongoDB-like query engine and support for three…",{"value":159,"source":83,"evidence":160},"ZODB",[161],{"id":162,"by":163,"text":164},"13507167","webmaven","Rather reminds me of ZODB[0]. [0] http:\u002F\u002Fwww.zodb.org",{"value":166,"source":83,"evidence":167},"TinyDB",[168],{"id":169,"by":170,"text":171},"13510596","BerislavLopac","Reminds me of TinyDB https:\u002F\u002Ftinydb.readthedocs.io",{"value":173,"source":83,"evidence":174},"Python shelve",[175],{"id":91,"by":92,"text":93},{"value":177,"source":83,"evidence":178},"pyDAL",[179],{"id":180,"by":181,"text":182},"13509031","MeteorMarc","The syntax reminds me of PyDal: https:\u002F\u002Fpypi.python.org\u002Fpypi\u002FpyDAL http:\u002F\u002Fwww.web2py.com\u002Fbooks\u002Fdefault\u002Fchapter\u002F29\u002F06\u002Fthe-database-abstraction-layer#Shortcuts",{"value":184,"source":83,"evidence":185},"SQLite",[186],{"id":121,"by":122,"text":123},{"comments":188,"answered":189,"key":190},8,2,[191,194,197],{"id":192,"text":193},"13507911","Thank you! I looked up databases to see if there were obvious name clashes but never thought of debuggers despite using `pdb` a lot. I'm open to suggestions for names if anyone…",{"id":195,"text":196},"13509913","I've just changed the project's name to pyzdb. Thanks again!",{"id":198,"text":199},"13508016","Thanks! I'm glad to see this looks potentially useful to someone other than myself. If the client could start servers (other than by importing from server.py), what would be the…",{"commenters":201,"max_depth":202,"maker_replies":188,"first_comment_mins":203,"lifespan_hours":204},22,4,28,88,[206,208,210,211,214,216,218,222,224,225,227,229,232,234,236,238,242,244,247,250,253,256,259,260,262,265,267,270,273,275,277],[110,32,37,207,111,32],"project\u002Fcritical\u002Fnone",[192,32,32,209,11,37],"maker\u002Fneutral\u002Fnone",[195,32,32,209,11,37],[212,32,37,207,213,32],"13508595","stil",[48,37,30,215,49,32],"project\u002Fpositive\u002Fidea",[198,37,32,217,11,37],"maker\u002Fneutral\u002Fexecution",[219,37,32,220,221,32],"13508521","commenter\u002Fneutral\u002Fnone","amenod",[155,189,32,223,156,32],"other\u002Fneutral\u002Fnone",[148,189,32,223,11,37],[52,36,36,226,53,32],"project\u002Fneutral\u002Fexecution",[75,36,32,228,11,37],"project\u002Fneutral\u002Fdesign",[230,36,30,231,53,32],"13509016","maker\u002Fpositive\u002Fdesign",[133,202,36,233,134,32],"project\u002Fneutral\u002Fnone",[137,202,32,235,11,37],"maker\u002Fneutral\u002Fdocs",[237,202,32,209,11,37],"13508715",[239,30,37,240,241,32],"13509286","project\u002Fcritical\u002Fexecution","emehrkay",[243,30,32,217,11,37],"13509460",[245,30,32,246,241,32],"13509659","commenter\u002Fneutral\u002Fexecution",[248,30,32,246,249,32],"13510274","moreati",[251,30,32,246,252,32],"13512806","sirtaj",[254,30,32,246,255,32],"13538909","reubano",[121,257,37,258,122,32],6,"project\u002Fcritical\u002Fidea",[60,31,30,215,61,32],[180,188,36,261,181,32],"project\u002Fneutral\u002Fidea",[103,263,37,264,104,32],9,"project\u002Fcritical\u002Fdesign",[162,266,36,261,163,32],10,[268,266,36,261,269,32],"13507259","dom0",[271,266,36,261,272,32],"13507312","tyingq",[91,274,30,215,92,32],11,[169,276,36,233,170,32],12,[95,278,30,279,96,32],13,"project\u002Fpositive\u002Fnone",[],[282,287,292,296,301,305],{"id":283,"name":284,"points":285,"category":286},"13500701","Whoishiring.io",419,"productivity",{"id":288,"name":289,"points":290,"category":291},"13505226","Magnetissimo",403,"dev_tools",{"id":293,"name":294,"points":295,"category":291},"13493810","Ship 2.0",233,{"id":297,"name":298,"points":299,"category":300},"13492975","Command Line Challenge",205,"learning_science",{"id":302,"name":303,"points":304,"category":300},"13521066","Code Cards",152,{"id":306,"name":307,"points":308,"category":309},"13493276","easyvpn",108,"security_privacy",false,"v2",{"id":313,"name":5,"line":6,"ai":310,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":28,"top":18,"kw":314,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":315,"url":9,"mix":316,"praise":82,"objection":100,"sub":21},13506670,[24,25,21,26],"1001500003053001000001531333535",[30,31,32,30],1793990954366]