[{"data":1,"prerenderedAt":235},["ShallowReactive",2],{"project-30007523":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":34,"aspects":35,"strip":38,"post_text":40,"what":41,"said":85,"maker_in_thread":148,"shape":156,"grid":159,"attempts":185,"same_week":196,"maker_shows":226,"maker_hidden":227,"reader_version":228,"card":229},"30007523","Mercury","Publish Jupyter Notebook as web app by adding YAML header","title","Show HN: Mercury – Publish Jupyter Notebook as web app by adding YAML header","https:\u002F\u002Fgithub.com\u002Fmljar\u002Fmercury","github.com","pplonski86",1642677960,2022,61,13,868,2570,34,"notable","dev_tools","notebook publishing","web_app",[24,25,26,27],"jupyter notebook","web app","yaml widgets","python dashboard","curious",-0.167,{"positive":31,"neutral":32,"mixed":31,"critical":33},0,4,1,5,{"docs":36,"design":37},{"positive":31,"critical":31},{"positive":31,"critical":33},[31,31,31,39,31,39,31,39,31,33,31,39,31],3,"Mercury is a perfect tool to share your Python notebooks with non-programmers.\n\n- You can turn your notebook into web app.\n\n- You can add interactive widgets to your notebook by defining the YAML header. Your users can change the input and execute the notebook.\n\n- You can hide your code to not scare your (non-coding) collaborators.\n\n- Users can interact with notebook and save they results.\n\n- You can share notebook as a web app with multiple users - they don't overwrite original notebook.\n\nThe demo running at Heroku (free dyno) http:\u002F\u002Fmercury-demo-1.herokuapp.com, at AWS EC2 (t3a.small) http:\u002F",{"problem":42,"audience":51,"pricing":55,"motivation":59,"time_to_build":66,"stack":67,"openness":82,"stage":83,"team_size":84},{"value":43,"source":44,"evidence":45},"Sharing Python notebooks with non-programmers as interactive apps","maker",[46,48],{"id":47},"post",{"id":49,"by":11,"text":50},"30044336","Hi, creator here. Mercury is an easy way to convert notebooks into interactive web apps, where user can tweak input parameters by widgets and click RUN button to execute notebook…",{"value":52,"source":44,"evidence":53},"Notebook users sharing results with non-programmers",[54],{"id":49,"by":11,"text":50},{"value":56,"source":44,"evidence":57},"Open source under AGPLv3; paid license planned for companies",[58],{"id":49,"by":11,"text":50},{"value":60,"source":44,"evidence":61},"Inspired by R Markdown YAML; make notebooks easy to share with non-programmers",[62,65],{"id":63,"by":11,"text":64},"30044305","Mercury was inspired by R Markdown where YAML is used. I think that YAML is quite easy way to quickly define simple User Interface.",{"id":47},null,[68,74,78],{"value":69,"source":44,"evidence":70},"Python",[71],{"id":72,"by":11,"text":73},"30044298","Mercury has different architecture. Is it better? Hard to say, users will tell. When building Mercury I was inspired by R Markdown YAML. Voila is using tornado, and for each user…",{"value":75,"source":44,"evidence":76},"Django",[77],{"id":72,"by":11,"text":73},{"value":79,"source":44,"evidence":80},"Celery",[81],{"id":72,"by":11,"text":73},"open_source","launched","unknown",{"praise":86,"objections":92,"requests":106,"questions":121,"alternatives":139},[87],{"value":88,"source":89,"evidence":90},"Easy way to turn notebooks into shareable apps","commenter",[91],{"id":49,"by":11,"text":50},[93,99],{"value":94,"source":44,"evidence":95},"Widget choices cannot be set dynamically",[96],{"id":97,"by":11,"text":98},"30047031","You can't dynamically set values in widgets. All values (choices and ranges) should be set upfront.",{"value":100,"source":89,"evidence":101},"YAML header is an odd choice versus existing markup",[102],{"id":103,"by":104,"text":105},"30043406","sankao","Why yaml? The web already has a markup language.",[107,114],{"value":108,"source":89,"evidence":109},"Support for kernels beyond Python",[110],{"id":111,"by":112,"text":113},"30044660","phillc73","Looks really interesting. I tried Voila a while ago and struggled to really get it to do what I wanted. This was a year ago though, so maybe things have improved. Does Mercury…",{"value":115,"source":89,"evidence":116},"Dynamic widget choices",[117],{"id":118,"by":119,"text":120},"30045557","polotics","Hi Cool tool. One question: with Yaml being used to fill in the possible choice of a selection-box, how do I make the choices dynamic?",[122,129,133],{"value":123,"source":89,"evidence":124},"How does it differ from Voila?",[125],{"id":126,"by":127,"text":128},"30043651","tmabraham","How is this better than Voila, which is developed by the Jupyter Notebook team? https:\u002F\u002Fgithub.com\u002Fvoila-dashboards\u002Fvoila",{"value":130,"source":89,"evidence":131},"How to deploy it yourself",[132],{"id":111,"by":112,"text":113},{"value":134,"source":89,"evidence":135},"How to display pandas dataframes",[136],{"id":137,"by":119,"text":138},"30047393","Ok, still could be useful, as indeed the one kernel per session design of alternatives like AppMode or Voilà is a bit limiting. While you're here: how do I best display a pandas…",[140,144],{"value":141,"source":89,"evidence":142},"Voila",[143],{"id":126,"by":127,"text":128},{"value":145,"source":89,"evidence":146},"AppMode",[147],{"id":137,"by":119,"text":138},{"comments":149,"answered":34,"key":150},6,[151,152,153],{"id":72,"text":73},{"id":49,"text":50},{"id":154,"text":155},"30044960","Right now, it works with only Python, but can be extended to any kernel. Deployment should be easy, I wrote guides how it can be done on Heroku and AWS EC2…",{"commenters":149,"max_depth":32,"maker_replies":149,"first_comment_mins":157,"lifespan_hours":158},3855,81,[160,162,164,166,169,171,172,174,175,177,178,179,181],[126,31,31,161,127,31],"commenter\u002Fneutral\u002Fidea",[72,31,31,163,11,33],"project\u002Fneutral\u002Fdesign",[49,33,31,165,11,33],"project\u002Fpositive\u002Fidea",[111,167,39,168,112,31],2,"project\u002Fneutral\u002Fdocs",[154,167,31,170,11,33],"maker\u002Fneutral\u002Fdocs",[118,39,39,163,119,31],[97,39,31,173,11,33],"project\u002Fcritical\u002Fdesign",[137,39,39,163,119,31],[176,39,31,170,11,33],"30050163",[103,32,33,173,104,31],[63,32,31,163,11,33],[180,32,39,163,112,31],"30044717",[182,32,31,183,184,31],"30045014","commenter\u002Fcritical\u002Fnone","hjjooesc",[186,187,190,193],{"id":4,"t":12,"points":14,"comments":15},{"id":188,"t":189,"points":167,"comments":31},"35831906",1683305398,{"id":191,"t":192,"points":167,"comments":31},"48236428",1779460323,{"id":194,"t":195,"points":167,"comments":31},"48264716",1779698347,[197,202,207,212,217,222],{"id":198,"name":199,"points":200,"category":201},"30057442","Let's Block It",261,"security_privacy",{"id":203,"name":204,"points":205,"category":206},"30047455","Marginalia",236,"consumer_social",{"id":208,"name":209,"points":210,"category":211},"30089895","Electric Tables",231,"productivity",{"id":213,"name":214,"points":215,"category":216},"30045901","Webutils",188,"creative",{"id":218,"name":219,"points":220,"category":221},"30051902","bangBang",146,"games",{"id":223,"name":224,"points":225,"category":206},"30039692","Hacker XP",136,14,false,"v2",{"id":230,"name":5,"line":6,"ai":227,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":231,"top":18,"kw":232,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":233,"url":9,"mix":234,"praise":88,"objection":94,"sub":21},30007523,-0.17,[24,25,26,27],"0003030301030",[31,32,31,33],1794036615932]