libpython-clj
dtype-next
Our great sponsors
libpython-clj | dtype-next | |
---|---|---|
25 | 12 | |
1,025 | 310 | |
2.0% | - | |
5.7 | 8.3 | |
about 2 months ago | about 1 month ago | |
Clojure | Clojure | |
Eclipse Public License 2.0 | GNU General Public License v3.0 or later |
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.
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?
dtype-next
-
Lisp/Scheme/Clojure and APL/K (2016)
Related (?): https://github.com/cnuernber/dtype-next/blob/master/test/tec...
-
A Tablecloth talk by Mey Beisaron at Func Prog Sweden this week
Tablecloth by generateme is a friendly & expressive table-processing library built on top of tech.ml.dataset & dtype-next, Chris Nuernberger's high-performance data libraries.
- Why Clojure is not widely adopted like mainstream languages?
-
Notes on Optimizing Clojure Code: Arrays
There is one other detail here that I found out w/r/t arrays - Clojure's aset implementation returns the previous value; it isn't a faithful wrapper of the JVM's array set value instruction. Due to this if you are using aset on primitive arrays you end up boxing every value you are setting which at least in my tests leads to a performance disadvantage when compared to a tight loop using Java. This is why I have a specialized class implementing an aset that returns void.
- Dtype-next: a Clojure library to aid implementation of high performance systems
-
Nested mapping?
If this is something common and the work is numeric, I would highly recommend exploring dtype-next buffer abstraction and tensors. The tensor api supports a nice APL-like substrate for working in index space without having to have the underlying storage "be" a boxed datastructure. You also get the option of off-heap / native tensors that can be zero-copy shuttled between other runtimes.
-
Clojure High Performance Data Processing Updates
dtype-next - Major discoverability upgrades for the tech.v3.datatype and tech.v3.datatype.functional namespaces. Similarly to tmd, Cursive and Calva users now get full intellisense help with these main namespaces. Furthermore the FFI bindings now support linting with clj-kondo.
-
Coffi, a Foreign Function Interface for JDK 17
One thing about the readme that is incorrect - [dtype-next](https://github.com/cnuernber/dtype-next)'s ffi does in fact support callbacks :-). It is used as the backend to [libpython-clj](https://github.com/clj-python/libpython-clj) where you certainly can call clojure functions from python.
-
Anybody using Common Lisp or clojure for data science
There are some interesting efforts concurrent with scicloj work by Chris Nuernberger specifically dtype-next, and the earlier tech-jna stuff. It's the same stuff underlying libpython-clj and libjulia-clj. recent talk.
-
clojure-rte: Clojure implementation of rational type expressions
This is great work. One of the things that has been on my mind working through our numerics stack is how to extend the number tower to complex numbers or more generally to arbitrary algebras. This project seems to me to be sort of a type-system-in-a-box that we can use to add arbitrary typing to Clojure where necessary/ideal. Thanks for sharing.
What are some alternatives?
hissp - It's Python with a Lissp.
neanderthal - Fast Clojure Matrix Library
spark-nlp - State of the Art Natural Language Processing
tech.ml.dataset - A Clojure high performance data processing system
clerk - ⚡️ Moldable Live Programming for Clojure
tablecloth - Dataset manipulation library built on the top of tech.ml.dataset
py4cl - Call python from Common Lisp
hanami - Interactive arts and charts plotting with Clojure(Script) and Vega-lite / Vega. Flower viewing 花見 (hanami)
waqi - REPL-driven data visualizations with Clojure and Vega/Vega-Lite in the browser
sklearn-clj - Plugin to use sklearn models in metamorph.ml
cljplot - JVM Clojure charting library