Libpython-clj

libpython-clj provides Python bindings that connect Python libraries with Clojure code.

github.com/clj-python/libpython-clj
Libpython-clj homepage screenshot

About Libpython-clj

libpython-clj is an open source repository that provides Python bindings for Clojure. It connects Python libraries with Clojure code so that Python modules can be loaded and used from Clojure, and the project's stated vision is to make Python modules feel almost like Clojure namespaces. The bindings link Java Virtual Machine (JVM) objects and Python objects in both directions, and the project also documents a Java API and the ability to embed Clojure in a Python host process.

The repository describes several technical details: Python objects are tied to JVM garbage collection, Python libraries are located dynamically so one system can run on multiple Python versions, and namespaces can be generated ahead of time for use with AOT compilation. The source notes that the library is built mainly on dtype-next and the JNA library. Pricing is not stated, and the directory lists the project as open source.

Key features

  • Loads Python modules and uses them from Clojure code
  • Bridges JVM and Python objects in both directions
  • Releases Python object references when the JVM no longer reaches them
  • Finds Python libraries dynamically to support multiple Python versions
  • Generates Clojure namespaces from Python modules for AOT compilation
  • Provides a Java API and the ability to embed Clojure in Python
Best for: Clojure and Java developers who need to use Python libraries in their projects.
Good for
  • Lets Clojure code call Python libraries with a REPL-oriented workflow
  • Supports copying data to numpy objects and callbacks from Python to Java
  • Includes a Java API so Java code can use it without Clojure
Watch out for
  • Not all Java API methods are protected by automatic GIL management, for performance reasons
  • Statically generated namespaces require initialize! to be called first
  • JDK-17 use requires enabling the foreign module as described in deps.edn

Libpython-clj at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Yes · Source code
Language
English
Last checked
Oct 6, 2026 · Online when checked
Listed
Oct 5, 2026

Libpython-clj alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in Programming Languages

Well-known listings from the same topic.

All 66

Libpython-clj FAQ

Does it work with more than one Python version?
The repository states that Python libraries are found dynamically, which allows one system to run on multiple Python versions.
Is it open source?
The directory lists libpython-clj as open source. Pricing is not stated on the source page.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing