nbdime
libpython-clj
nbdime | libpython-clj | |
---|---|---|
7 | 25 | |
2,596 | 1,032 | |
0.3% | 1.4% | |
8.4 | 5.7 | |
3 days ago | 2 months ago | |
TypeScript | Clojure | |
GNU General Public License v3.0 or later | Eclipse Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nbdime
-
Stuff I Learned during Hanukkah of Data 2023
I remember hearing about nbdime and thinking it sounded useful, but I've never really needed it since I rarely use Jupyter in the first place. But then I made some changes to my Hanukkah of Data 2023 notebook to work with the follow-up "speed run" challenge (a new dataset and slightly tweaked clues), and the native Git diff was too noisy to be useful. nbdime came to the rescue! Here are the changes I had to make for days 2 and 3 during the speed run:
- The Jupyter+Git problem is now solved
-
Ask HN: Are there any good Diff tools for Jupyter Notebooks?
[5] ReviewNB for reviewing & diff'ing notebook PRs / Commits on GitHub
Disclaimer: While I’m the author of last two (GitPlus & ReviewNB), I’ve represented the overall landscape in an unbiased way. I've been working on this specific problem for 3+ years & regularly talk to teams who use GitHub with notebooks.
[1] https://nbdime.readthedocs.io
- Notebooks suck: change my mind
-
What if Git worked with Programming Languages?
Interesting they mentioned Jupyter Notebooks but not NBDime https://github.com/jupyter/nbdime which is a Jupyter plugin specifically to address this problem. Without it, diffing notebooks is not feasible.
-
Jupyter diff in Magit
A bit off-topic but someone might know; I'm working with jupyter notebook files (ipynb) which are basically json files. Git diff is very noisy so there's nbdime which works great in the CLI. Is there a way to have Magit aware of its integration with git diff?
-
The Notepad++
I use nbdime which allows you to ignore parts of a notebook (e.g. outputs) when diffing.
libpython-clj
-
Pyffi – Use Python from Racket
It’s also worth noting that Clojure has libpython-clj (https://github.com/clj-python/libpython-clj) which offers an interface with Python from another lisp. Here are some advanced ML and dataviz examples using that lib: https://github.com/gigasquid/libpython-clj-examples.
- A Python-compatible statically typed language erg-lang/erg
-
Clojure Scripting on Node.js
Basically, you take a programming language and make it work on a platform that meant to be programmed using a different PL. Clojure is hosted by design - it's not Java, but can be used to program for JVM. It ain't Javascript, but can be used to target nodejs and browser; not an [official] CLR language, but you can write .Net programs. You can use Clojure to make Flutter apps with ClojureDart. You can integrate Python into Clojure with libpython-clj. Or write Clojure to target Erlang/OTP; or Rust; or R; There's even a clojure-like language for Lua - Fennel.
There's something about Clojure people like so much, they want it to work atop any platform.
https://github.com/Tensegritics/ClojureDart
https://github.com/clj-python/libpython-clj
https://github.com/clojerl/clojerl
https://github.com/clojure-rs/ClojureRS
https://github.com/scicloj/clojisr
https://fennel-lang.org
- Why Clojure is not widely adopted like mainstream languages?
- Clj-Python: Python bindings for Clojure
-
Why is there no Clojure to Python Compiler / Transpiler?
There's this project that's used a lot for taking advantage of Pythons ecosystem through Clojure JVM. https://github.com/clj-python/libpython-clj
-
(define (uwu) (display "nya~\n"))
Ahh, makes sense. Well, if you ever wanna steal some of python's thunder, libpython-clj worked great for me lol. Supposedly py4cl fills a similar role in Common Lisp.
-
Notebooks suck: change my mind
High quality interop with any python library via libpython-clj including, but not limited to, keras, numpy, matplotlib, and pandas. This includes zero copy paths from many of those.
-
Java Bindings for Libpython-clj
libpython-clj now has Java bindings...go tell all your Java friends!
- Best Lisp dialect?
What are some alternatives?
jupytext - Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts
hissp - It's Python with a Lissp.
poetry-dynamic-versioning - Plugin for Poetry to enable dynamic versioning based on VCS tags
spark-nlp - State of the Art Natural Language Processing
nvim-treesitter-context - Show code context
clerk - ⚡️ Moldable Live Programming for Clojure
webdiff - Two-column web-based git difftool
py4cl - Call python from Common Lisp
locust - "git diff" over abstract syntax trees
tablecloth - Dataset manipulation library built on the top of tech.ml.dataset
unison - A friendly programming language from the future
sklearn-clj - Plugin to use sklearn models in metamorph.ml