Fork me on GitHub
#announcements
<
2020-02-11
>
chrisn16:02:17

libpython-clj has been undergoing quite a bit of development. There is now extensible datafy/nav support for python modules and classes. We have much better (but still imperfect) environment support. We have a clj-template so you can use Sean Corfield's clj-new system. We also spent some time profiling things to make sure we pay as little of a cost as possible for crossing the language boundaries. The cost is still there of course but we reduced it by a factor of at least 3 or so. We moved GC to be cooperatively done in the python thread. So if you want to use python from only on clojure thread that is now possible. Carin Meier has been doing quite a few demonstration projects using Nextjournal. I really suggest checking those out as you can simply hit 'remix' and start playing with the code. If you haven't checked out Nextjournal in general then by all means, it is a great system for online live-notebook coding. • Changelog: https://github.com/clj-python/libpython-clj/blob/master/CHANGELOG.md • Github Org: https://github.com/clj-python/ • Carin's NextJournal Page - https://nextjournal.com/gigasquid/ • Kommen's NextJournal Page - https://nextjournal.com/kommen Enjoy 🙂

👏 100
🐍 20
pizzaspin 12
👍 12
p-himik16:02:08

A few questions: 1. Can it be considered production-ready? E.g. no breaking changes are expected. 2. Python 3.7 is supported, right? 3. Imagining that there's Jython 3 (there isn't), would libpython-clj be better? If so, how? 4. Same question about graalpython (assuming I decide to run everything on GraalVM). I couldn't quickly find answers in the repo's README and in the links that I've visited.

chrisn20:02:26

1. Yes, the interface hasn't changed for a while. 2. Yep. The system is python-version independent, you can select the python you want on initialization. 3. libpython-clj runs cpython with all the extensions. Jython, for instance, doesn't support numpy and definitely doesn't support things like mxnet and such. 4. See response above. The C layer of python requires the interpreter to load the extensions. Without reimplementing a significant portion of the interpreter (which Graal people may do but Jython people can't) you can't load the C extensions.

plexus16:02:07

Announcing Regal, like Hiccup but for regex. Cross-platform CLJC and able to create test.check generators. This is very much a preview/alpha release. Breakage expected, input and feedback (and contributions) welcome! For now only available through Github. Follow-up in #lambdaisland please. https://github.com/lambdaisland/regal

🎉 168
👍 56
❤️ 32
Noah Bogart16:02:11

Dang, this looks cool as heck

kenny17:02:53

Yeah, this looks awesome!

pez17:02:08

This is so cool!

fmnoise17:02:50

awesome stuff!

bartuka01:02:12

Wooow, congrats!!!

plexus09:02:19

The generator namespace should actually load now :) thanks @U04V15CAJ for reporting

Eddie19:02:24

Fantastic! This will be very useful.

marcus08:02:14

Yeah, it is great!

marcus08:02:38

Is there currently a way or plans for predefined character classes, e.g. \s (space, tab, ...) ?