6 ms·
Show HN: Kyso – an easy way to share Jupyter notebooks
Hi HN,
We're the founders of
https://kyso.io https://kyso.io
We want to make it really easy to share data-science within teams, and
we've started with Jupyter notebooks.
We render the notebooks really nicely, so you can embed interactive visualisations like Bokeh, and Plotly plots.
Another nice thing is we allow you to hide the code for non-technical readers, so you basically get a beautiful data blog.
Look at https://kyso.io/laura/ https://kyso.io/laura/ for some examples.
We really want to hear your feedback, let us know what you think!
- eoinmurray92 9y agoEoin the co-founder of Kyso here! Happy to answer any questions... my email is eoin [at] kyso.io
- jonahx 9y agoCould you elaborate a bit on what you offer that out-of-the-box Jupyter does not? From my admittedly limited experience with Jupyter, it is already an interactive coding and visualization tool which can be exported to HTML. Can you not include Plotly plots in vanilla Jupyter? The kyso homepage says that you beautifully render the notebooks? Given that they're already html, does that mean custom style sheets? Something more? Or is the main value add just a wrapper over git to make versioning and sharing easier? Thanks.
- eoinmurray92 9y agoWe host Jupyter notebooks online! We don't in anyway replace Jupyter. So normally when you publish a notebook online - you'd use Github or http://nbviewer.jupyter.org/ http://nbviewer.jupyter.org/ Github doesn't allow the interactive graphs, and nbviewer wont actually host the notebooks for you (you need to link from somewhere else). Let you just type `kyso create "new-study"` and `kyso push "new version"` and your notebook is live online edit for spelling
- jonahx 9y agoSo this would be a simpler alternative to, say, running my own jupyter server on a digitalocean box?
- eoinmurray92 9y agoWe currently host static renderings of the notebooks, for reading and sharing, where you can pull them down to your local installation of Jupyter to extend them. On our roadmap is for Kyso to work like the Google drive integration, where you can use a jupyter kernel (https://github.com/jupyter/jupyter-drive https://github.com/jupyter/jupyter-drive) hosted anyway but server the notebooks from Kyso. And we are also planning fully runnable notebooks too, we do aim to be the easiest way to run your own jupyter server.
- lambdaops 9y agoYou are more than free to make a PR to make publishing to Kyso from nteract one-click. We have publishing for github built-in and would love to have more.
- eoinmurray92 9y agoAny example code of how to do this?
- eoinmurray92 9y agoJust got some feedback there that the command line app is only working for node.js v8.0 and above! Will be releasing a node v6.0 compatible version in the next 2 days, and an node independent version very soon!!
- opportune 9y agoSo what do you actually do? I work with Jupyter notebooks daily. I'm not really sure what you are actually doing with them even after visiting both of your links. Are you hosting deployments on the web? Changing how common plotting tools are displayed? Having the expandable/collapsible code is nifty for sure, but that's the main feature I noticed. If I can offer some perhaps unsolicited feedback, I'd like for you guys to make it more clear (explitcly clear) what exactly you are offering. Your main web page just looks like a sales pitch for jupyter notebooks in general.
- eoinmurray92 9y agoThanks for your feedback, currently we host static renderings of the notebooks, so you can share them easily for other to read. And others can pull them down locally and extend them. We are planning the fully runnable Jupyter environment in the future.
- sandGorgon 9y agoI would pay a LOT if I can upload a notebook (jupyter or Zeppelin) and have it available as a true multi-user dashboard (like a form with input and output)
- eoinmurray92 9y agoHi sandGorgon, Thanks for your reply - this is on our roadmap, do you need the dashboards (we're the code runs, but is no editable) or full development notebooks? We are planning both in the future - email me at "eoin [at] kyso.io" if you need this sooner rather than later. edit: spelling
- eoinmurray92 9y agoIf I understand that what your looking for is easily deployable jupyter-dashboards (https://github.com/jupyter/dashboards https://github.com/jupyter/dashboards) where you can make kind of micro data science apps. That is exactly what we have in mind as our next step.
- iamwil 9y agoWhy would you pay a lot for it? What problem does it solve for you?
- eoinmurray92 9y agoIt allows data-scientists to easily deploy in-house data-apps. And by using the Juypter notebook, you get the GUI for free as well and automatic support for many many ML and numerical libraries (assuming Python) So for example if a sales team gather data, and there is a data-transform thats done all the time by hand, or feeding new data to an ML model, an internal app would save time, and Jupyter dashboards have the potential to make this really easy.
- sandGorgon 9y agoI'll reply to both you and OP here. I have an open bug on this as well. The closest thing I have found is http://blog.ibmjstart.net/2016/01/28/jupyter-notebooks-as-restful-microservices/ http://blog.ibmjstart.net/2016/01/28/jupyter-notebooks-as-re... Jupiter is brilliant to prototype stuff - anything from metric dashboards to ML models. The problem is how do you take this live ? So you have production engineers transforming this code into a microservice and then writing an exact duplicate dashboard in reactjs or something. Why ? Because jupyter spawns kernel which is directly related to state of execution of the program...So if I'm logged into the dashBoard, nobody else can. Instead, if you could nbconvert the notebook into flask code, I could have a running dashboard in a piece of flask code that I can immediately put on my server. I will pay for this - both because it is very useful, and also as a way for me to fund something cool. As a business model, it is damn cool - this is true heroku for data scientists. EDIT: incidentally I have been told by many people to switch to Zeppelin. Apparently, it works nicer at building dashboard..And More importantly, it is seamless integrated with the spark ecosystem (including cluster support) that makes scaling very easy. GCP Dataproc comes with recipes to launch Zeppelin on the server.
- jparmer 9y agoYou can also toggle code cells of Jupyter notebooks in Plotly: https://plot.ly/~empet/14371 https://plot.ly/~empet/14371
- eoinmurray92 9y agoIs there a way to toggle them all at once?
- gnestor 9y agoCollapsible input/outputs was just merged into JupyterLab today!
- jparmer 9y agoYou guys should consider nteract's commutable as a frontend: https://github.com/nteract/commutable https://github.com/nteract/commutable
- lambdaops 9y agoProbably want the packages in here -- https://github.com/nteract/nteract/tree/master/packages https://github.com/nteract/nteract/tree/master/packages Roughly speaking, this is just like the notebook-preview component with different styling and some additional UI enhancements (cell hide toggling).
- ianhowson 9y agoShameless plug: I built a free version of this (for R) a few months ago: https://rnotebook.io https://rnotebook.io Adoption hasn't been great, so it's probably going to stay free for a while. Enjoy!
- haney 9y agoWe use AirBnB's Knowledge Repo project[1][2] for things like this at my company. I love the idea of making it easier to deploy things like this though. 1. https://medium.com/airbnb-engineering/scaling-knowledge-at-airbnb-875d73eff091 https://medium.com/airbnb-engineering/scaling-knowledge-at-a... 2. https://github.com/airbnb/knowledge-repo https://github.com/airbnb/knowledge-repo
- eoinmurray92 9y agoWe actually used the Knowledge-repo at our previous startup, and we thought we could improve the user experience, and hence https://kyso.io https://kyso.io - but we haven't strayed to far from the original idea of the knowlege-repo
- lukejduncan 9y agoI've always wanted a way to do collaborative editing ala google docs in a Jupyter notebook. Does anyone know if there are existing tools that do similar things?
- eoinmurray92 9y agoWe are planning this as a next feature for Kyso - email me at "eoin [at] kyso.io" if you need this soon. You can currently use https://github.com/jupyter/colaboratory https://github.com/jupyter/colaboratory But its not under heavy development anymore, only internally at Google.
- carreau 9y agoJupyter/IPython dev here. 1) We are always supper happy to see commercial offers that integrate Jupyter – I see the HQ of Kyso is in SF, feel free to come see the Berkeley team. We're also be happy to come by SF to discuss ! 2) RT collaboration is on its way on main Jupyter (via JupyterLab) the beta should be announced in a couple of weeks maybe before end of month. It will be using Google Drive (by default, but plug-able). Not only on notebooks, but all text documents – you can get it now if you install master. 3) I would also look at CoCalc (ex SageMathCloud) that already have real-time collaboration with full history.
- williamstein 9y agoAs mentioned, we have had collaborative editing with full history for Jupyter notebooks since 2014 in https://cocalc.com https://cocalc.com, which is open source by the way. We've written and rewritten this functionality 3 times now, culminating most recently with a complete front and backend rewrite of Jupyter from scratch for CoCalc. See http://blog.sagemath.com/jupyter/2017/05/05/jupyter-rewrite-for-smc.html http://blog.sagemath.com/jupyter/2017/05/05/jupyter-rewrite-... for more details. We also still support collaborative editing using Classical Jupyter.
- j_s 9y agoNice! How much of this made it back into Jupyter proper? I'm always interested in the "rubber meets the road" aspects of commercialized open source development. Your project looks perfect for helping people learn how to code.
- Plough_Jogger 9y agoIs this just a UI in front of Jupyter Hub? https://github.com/jupyterhub/jupyterhub https://github.com/jupyterhub/jupyterhub
- eoinmurray92 9y agoCurrently we allow you to share notebooks statically, i.e. they don't run. We will be supporting runnable dashboards and notebooks soon.
- perryprog 9y agoI just got this error: Error! { "line": 7, "column": 2607, "sourceURL": "https://kyso.io/_next/cfa0fec92f8264fb4f4d21558810e9ef/app.js" https://kyso.io/_next/cfa0fec92f8264fb4f4d21558810e9ef/app.j... } This looks really good though! Good work!
- eoinmurray92 9y agoThanks for reporting that - looking into it.
- drej 9y agoMy favourite thing about Jupyter notebooks is that you can render them locally to avoid the Jupyter hassle if you don't have it installed for some reason (or if you don't want to run it). Upon reading this, I decided to implement a renderer of Github-hosted files (as their renderer is painfully slow and doesn't work on phones) to further simplify notebook distribution. I haven't looked into Bokeh and other javascripty extensions, but it might be solvable as well. So thanks for the inspiration! https://news.ycombinator.com/item?id=12243562 https://news.ycombinator.com/item?id=12243562
- echion 9y agoThis (nbviewer.js)[1] is really amazingly quick and useful as a notebook viewer. 1. https://github.com/kokes/nbviewer.js https://github.com/kokes/nbviewer.js
- partycoder 9y agoTechnically speaking the prefix is Show HN. So it appears in the "show" section. Launch HN is not a supported prefix.