Thanks to Werner Fouché's initiative, there is now a @jbangdev catalog for Jython!
As a result, running Jython scripts becomes even easier:
jbang run jython-cli@jython <jython-script>.py
or after install: jython-cli <jython-script>.py
Ein lang ersehnter Wunsch von mir: Eigene #Clustering Methoden in #OpenRefine benutzen.
Verfügbar seit Version 3.9.0 und funktioniert seit 3.9.3 auch mit #Jython und #Clojure.
Hier eine Anleitung zur Benutzung im #FDMLab Blog.
https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/19-erweitertes-clustering/
We're happy to share that Werner Fouché has written a follow-up article about his Jython/JBang integration effort we shared last week. It provides example code to get you started, including a Spring rest client example.
https://medium.com/@werner.fouche/running-jython-scripts-with-jbang-part-2-d13b3699c015 #jython #jbang
We're excited to share that there has been an effort by Werner Fouché to integrate Jython with JBang. Please checkout his Medium article to learn how you can run Jython scripts on JBang easily! https://medium.com/@werner.fouche/running-jython-scripts-with-jbang-using-a-java-helper-program-9ab9f8e35ddc #jython #jbang @jbangdev
Imagine:
- small custom tool in #Python2 / #Jython, bundled to an .exe
- Last time bundled was a few years back
- executable used on CI server
Then:
- suddenly all builds across the Server fail 😳
- The CI server and your own PC fail executing your small tool, saying "This application needs #Java 8" 🤔
- But your CI Server and own PC _have_ Java 8 installed 🤨
- The fellas around you have seemingly the same tools installed and can execute the tool 🧐
True as always that the way to make software run faster is to make it do less operations. After all, CPUs can only execute a fixed number of operations per unit of time.
Here, I tweaked code for serial section registration that drops execution time from 27 seconds to 100 milliseconds: a 270x speed up.
All it had to do is to search for matching SIFT features in one image only within a predetermined radius centered on one SIFT feature in another image. Extremely effective for when e.g., the maximum translation is known.
The matching code using a KDTree:
https://github.com/acardona/scripts/blob/master/java/asm/my/PointMatchesFast.java#L56
The test script:
https://github.com/acardona/scripts/blob/dev/python/imagej/FIBSEM/tests/test_matchNearbyFeatures.py
"Type annotations are unsupperted in Python 2"
😒😒
Will man Jython überhaupt noch verwenden? 🤐
I wonder how other #python implementations like #pypy and #jython would fare in this:
https://mastodon.social/@vruz/112145750607678621
I love Python, but 75 times C's energy consumption it's a lot.
Interesting that #Perl seems to fare worse?
https://github.com/VincentDary/ghidra-pipe
#GhidraPipe is a plugin to interface custom #ReverseEngineering tools with #Ghidra environment and its #jython API, from everywhere.
$ pip install ghidra-pipe
Some questions regarding Ghidra:
* NetworkX libraries don't support Jython, right?
* Which Python 3.X bridge is the most used for Ghidra? Is it Ghidrathon? Or perhaps ghidra-bridge?
* Do you happen to know if there are differences big enough to worry about supporting Ghidrathon or Ghidra Bridge?
#Ghidra #NetworkX #Jython #Ghidrathon #GhidraBridge
#Python3 #Python2
Here is an old-school image processing tutorial for #FijiSc in #jython 2.7 (python for java):
https://syn.mrc-lmb.cam.ac.uk/acardona/fiji-tutorial/
Enjoy!
@daieuxetdailleurs @Ettore_Rizza ah c'est intéressant que ça marche avec 3.6.2 et pas 3.7.2… peut-être qu'une mise à jour de #Jython a cassé quelque-chose ? Mais sinon pourquoi ne pas le faire via le service de réconciliation plutôt ? (en réconciliant les Qids, puis ajouter une colonne à partir des valeurs réconciliées, et utiliser la propriété "Sfrwiki" pour obtenir les titres dans fr.wiki)
The underlying source code is here, if you want to try registering pairs of images with a non-linear transformation such as a thin-plate spline, on the basis of blockmatching features:
Every time I need to run an image processing task, the open source software #FijiSc delivers.
The javadocs are up to date https://javadoc.scijava.org/ , the libraries just work – particularly #ImgLib2 https://imagej.net/libs/imglib2/
And the examples of my own tutorial https://syn.mrc-lmb.cam.ac.uk/acardona/fiji-tutorial/ written in python 2.7 for the #JVM (#jython), despite some being a decade old, they all just work. Grateful every day for the outstanding backwards compatibility plus the new plugins and libraries that continue to grow https://fiji.sc
Many thanks to the many, many developers and maintainers, particularly Curtis Rueden, who is presently cutting out a new release: 2.11.0 https://forum.image.sc/t/plugin-maintainers-can-you-test-fiji-2-11-0/78852/18
@aegilops For a while #IronPython appeared to be "stuck" in 2.7 just like #Jython, but in December they released version 3.4 and they've ported f-strings from #CPython 3.6.
I cannot imagine what goes into implementing Python in other programming languages, and for that they deserve my admiration. But it is indeed a shame Jython has not moved past 2.7 in almost eight years.
Maybe Inductive Automation will open their platform to other scripting languages, but until then I'm stuck in 2.7 too.
@thecesrom Jythooooooooon! In my best Kirk voice.
:java: and :python: together is a great idea, but not having the Python 3 `main` branch working, and having no clear progress makes it feel like Perl 6 all over again.
They should rename their moribund Jython3 repo, that's just confusing!
It's such a shame, useful Java scripting interfaces languishing in a dying ecosystem.
There was a similar lag with things that embed CPython, but they have an escape route.