@msch versioning is mostly automatic. Any changes to your notebook or data are versioned fully automatic, like in Google Docs. The only thing that's currently using intentional commits like Git are changes to the computational environment (docker image). Track changes mode and comments aren't available yet but I hope we'll be able to add those in the coming weeks.
@gugl Data Science is the most obvious use case here as Nextjournal lets you bring in data from different sources (Upload, Amazon S3, Google Cloud, Github) and analyze them using whatever packages you prefer. We see two more interesting use cases that we hope people will try out:
Interactive Documentation - import your packages or libraries directly into a Nextjournal notebook and provide runnable code samples along with sample data that can be shared and experimented with
Programming Tutorials - Nextjournal offers a unique remix feature. It lets you copy any published notebook with all its data and dependencies with a single click. This is perfect for taking a tutorial and experimenting with it.
Scientific Papers - Nextjournal is a literate programming environment so you can have your (executable) methods and their description live in the same document. We are also well-suited to Machine Learning workflows with GPU support and full environment access. Here are some of the existing ML notebooks (https://nextjournal.com/collecti...) and published papers on Nextjournal: https://nextjournal.com/csi/micr...
@mengxilu Nextjournal is not built on top of Beaker or Jupyter. It’s a fully integrated system designed from the ground up to enable automatic versioning of the notebook, data and the full computational environment (as Docker image).
We support importing Jupyter notebooks however and we can also run Jupyter kernels. By default, though, we us our own runtime protocol. In its simplest form our protocol only depends on bash, whereas Jupyter needs a full Python installation in the container. This allows you to install any library or package in a Nextjournal notebook.
Why didn’t you guys consider building on top of jupyter given that jupyter already has such a big community?
Wouldn’t it have been useful to bootstrap on a big community?
@sidazhang starting out our code evaluation was quite a bit different than Jupyter, it was more a data flow model between cells but today we're more in line with how cells work in Jupyter. We did realise over time that interop with Jupyter and RStudio is critical and have added Jupyter import and kernel support.
Hi Product Hunt! 👋
I’m one of the founders of Nextjournal and I’m really excited that after almost three years in Private Beta we’re finally opening signups today to everyone.
Nextjournal is a computational notebook platform and our goal is to make computation more accessible and automatically reproducible, so it becomes easier to collaborate and build on top of each others work.
FeaturesCode with confidence
Nextjournal runs Python, R, Julia and Clojure all in the same notebook. Let docs, code completion and per-line errors help you out along the way.
Import your Markdown and Jupyter
Import your existing notebooks (Jupyter, RMarkdown and Markdown) or get started with an existing template.
Install anything
Install any package or system library you need. In Nextjournal you have full access to the filesystem to install anything you want. With the click of a button, you can save your environment reproducibly as a docker image.
Go back in time, anytime
In Nextjournal, your notebook and your data is versioned automatically, all the time. If you break something, simply restore a previous version.
Access your private data
Easily mount your S3 or Google Buckets or import private GitHub repositories. Secrets are stored encrypted.
Share and collaborate
Share drafts using a secret URL or invite collaborators to edit in real time.
If you'd like to know more, check out our launch blog post at https://nextjournal.com/mk/publi... or sign up and give it a try!
Happy to answer any questions that come up!
@michihuber Nextjournal is not built on top of Jupyter but is a fully integrated system designed to enable automatic version control of the notebook, data and the computational environment (as docker images). That being said, Nextjournal supports importing Jupyter notebooks and running Jupyter kernels but also supports its own runtime protocol. In its simplest form our protocol only depends on bash, whereas Jupyter needs a full Python installation in the container. This enables installation of any libraries in Nextjournal notebooks.
@viebel You can share drafts using secrets links or invite collaborators to edit your notebook in real time. You can also build on top of each others work by remixing an existing notebook (similar to forking a git repository). Comments and the ability to suggest changes isn't quite ready yet but we hope to roll that out in the coming weeks.
@sudara pretty much, you get a clone of the notebook you're remixing with all the code, data and computational environment (docker containers that the code runs in). Any changes you make in the remixed notebook don't affect the original. We don't currently support change (pull) requests yet but we're working on it.
@smoofles We always have a free plan that includes one concurrent compute resource with up to 4 GB RAM that has all your notebooks publicly accessible when published (drafts are always private).
That being said, we grant plan or compute upgrades to students on a case-by-case basis. So it’s best to get in touch with us via the website and tell us about your project! We also give out scholarships from time to time so best follow us on Twitter (@usenextjournal) for announcements. We just announced recipients for our first scholarship: https://nextjournal.com/nextjour...
@zequix Yes! Check out our featured notebooks on machine learning at https://nextjournal.com/collecti... You can easily run computations on the GPU and our default environments are setup so this works out of the box. We also provide getting started templates for Tensorflow, TFLearn, Keras and Pytorch https://nextjournal.com/collecti... Lastly sharing your work with your clients is really easy.
@mintandminty Not yet. Running locally is a request we do get and I think we do want to support that in the long run but I can't promise a date for this yet. As to running on your own servers I think is something to look at once we've figured out our open source strategy. There's still quite a few questions (what to open source and under which license) for which we don't have good answers, yet so I'm afraid this is even further out.
@nikgraf All that's open source currently is our notebooks that build the environment images https://nextjournal.com/nextjour... (and follow the links to e.g. the Python environment https://nextjournal.com/nextjour...).
Our larger open source strategy is still undecided, we're not sure what parts we will open source or under what license. At the moment we're using a monorepo for development, so open sourcing parts would have some overhead and we're focusing on delivering a useful product for the moment.
A third option we're considering is moving more and more platform code into Notebooks on the platform, effectively bootstrapping Nextjournal. Like I've written above this is already the case for all environment images but we're expanding that to runtime code and more. But it's too early to tell to what extent that will work.
Waffle