The Jupyter+Git problem is now solved

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern API for authentication & user identity.
  • Onboard AI - ChatGPT with full context of any GitHub repo.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • jupytext

    Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts

  • github-orgmode-tests

    This is a test project where you can explore how github interprets Org-mode files

    i strongly agree with what you are saying about Jupyter, however i strongly disagree about using netobooks in general

    one of the key things that a good notebook system must allow you to do is to mix something like markup format + LaTeX + source code. writing math-heavy documentation and explanations is simply impractical and limited (readability suffers) if done in comments. jupyter however is severely limited as it is unreadable in its raw format and therefore does not play well with a version control system such as git

    instead there is a solution that allows one to do everything jupyter does good with the additional benefit that it plays with version control really well - ie org-mode [1]. the only difference is that instead of using a browser to interact with it, you use emacs. the added benefit to this is that you can also use full-featured key bindings (emacs / vim) and even integrate a language server for auto-completion [2]

    [1] https://orgmode.org/

    [2] https://emacs-lsp.github.io/lsp-mode/manual-language-docs/ls...

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • jupyterlab-git

    A Git extension for JupyterLab

    I use this plugin for my jupyter notebook git integration. It has a git diff option that's useful but gets very slow for complex documents. Perhaps under the hood it's using one of the other tools mentioned in the postscript.

    https://github.com/jupyterlab/jupyterlab-git

  • models

    stock market models - have fun (by martinshkreli)

    If there a good place to see Jupyter note books solving a real problem?

    Idk, like importing some data and doing some analysis / forecasting?

    Most notebooks appear really bad quality. Worse internally.

    Better off looking at some excel https://github.com/martinshkreli/models

  • quarto-cli

    Open-source scientific and technical publishing system built on Pandoc.

  • Pluto.jl

    🎈 Simple reactive notebooks for Julia

    Others have mentioned the usefulness of literate programming so I won't reiterate that.

    Partially the lack of discipline comes from the implicit data dependancies between cells. Variables are all globally scoped and unless you ensure the notebook can be ran top to bottom its easy to introduce subtle bugs. I believe Julia's https://github.com/fonsp/Pluto.jl solves this issue quite well.

    Another part comes from cells that should really be functions. In my opinion this is because functions are 2nd class citizens compared to cells, and could be improved with UI (function cells? node based programming?).

    Programming is more than just manipulating text, so why shouldn't tools move in a direction of just being fancy text editors?

  • nb-clean

    Clean Jupyter notebooks of outputs, metadata, and empty cells, with Git integration

    https://github.com/srstevenson/nb-clean ?

    Has been my go to for this. It seems like nbdev2 is fastais own cooked solution with a bunch of other tools.

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

  • ipyflow

    A reactive Python kernel for Jupyter notebooks.

    > It would be nice if there were something that would make out-of-order problems light up, the way that code editors can highlight errors while you're editing.

    Check out https://github.com/nbsafety-project/nbsafety

  • jupyter

    An interface to communicate with Jupyter kernels. (by emacs-jupyter)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts