nimporter
libpython-clj
Our great sponsors
nimporter | libpython-clj | |
---|---|---|
11 | 25 | |
806 | 1,015 | |
- | 1.3% | |
4.3 | 5.7 | |
8 months ago | 28 days ago | |
Python | Clojure | |
MIT License | 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.
nimporter
-
Are there nim users?
Nimporter
-
A Python-compatible statically typed language erg-lang/erg
Erg looks fun for small programs. Though Erg's syntax choices seem less Pythonic than I'd expected. Interesting though, some of the idioms seem handy.
Though Nim definitely can be described as a statically typed Python-compatible language! I haven't used them but https://github.com/Pebaz/nimporter https://github.com/yglukhov/nimpy both seem great. Nimporter in particular looks fantastic for writing fast python libraries.
Actually come to think of it that might be the easiest way to write fast KiCad 6 plugins.. I really want to try making a native KiCad autorouter. But I don't want to figure out the C++ plugin setup and since KiCad 6 the Python APIs seem better documented and supported anyways. Problem is that Python would likely be too slow. Nimporter could be perfect. It looks really simple to setup.
-
Comparing a Rust extension to other methods of speeding up python
nimpy + nimporter is getting fairly mature. I've had my eye on the libraries for awhile now and I'm starting to seriously consider adding Nim to the build pipeline at werk.
-
Nim -- a modern "glue" language like Python
c2nim is a tool to translate ANSI C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand after the translation process. If you are tired of wrapping C library, you can try futhark which supports "simply import C header files directly into Nim". Similar to futhark, cinterop allows one to interop with C/C++ code without having to create wrappers. nimLUA is a glue code generator to bind Nim and Lua together using Nim's powerful macro. nimpy and nimporter is a bridge between Nim and Python. rnim is a bridge between R and Nim. nimjl is a bridge between Nim and Julia! Last but not least, genny generates a shared library and bindings for many languages such as Python, Node.js, C.
- Faster Python with Guido van Rossum
- What would be the steps required of `wrapping` a Python package in a crosplatform Nim executable?
-
Genny – Generate Nim library bindings for many languages
For the specific case of Python executing Nim code you might be interested in [nimporter](https://github.com/Pebaz/nimporter) instead. Genny would definitely work for you as well, but it seems to be more geared towards creating libraries in Nim that can be imported by multiple languages.
- NimConf 2021 (Sat, June 26th)
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
- Why Clojure is not widely adopted like mainstream languages?
-
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.
- Best Lisp dialect?
-
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.
- November 2021 workshops -- please comment about your preferences
What are some alternatives?
nimpy - Nim - Python bridge
hissp - It's Python with a Lissp.
spark-nlp - State of the Art Natural Language Processing
clerk - ⚡️ Moldable Live Programming for Clojure
py4cl - Call python from Common Lisp
futhark - Automatic wrapping of C headers in Nim
tablecloth - Dataset manipulation library built on the top of tech.ml.dataset
sklearn-clj
ArcadiaGodot
neanderthal - Fast Clojure Matrix Library
Arcadia - Clojure in Unity
nimterop - Nimterop is a Nim package that aims to make C/C++ interop seamless