Hi, As many of you know, Python 2 reaches end of life at the end of this year. So, I've been working to get the current code moved to Python 3.
One of the big impediments in this process is the fact that our code relies heavily on ctypesgen which has been unmaintained for several years. This caused problems with recent versions of libc which have some floating point constants which it didn't recognize. The code even had some Python 1 constructs in it. Parts of it were a bit crufty. I've just finished a preliminary port of ctypesgen to python 3 including fixing these bugs, getting rid of some crufty constructs, reformatting the code with black, and updating the tests to use tox+pytest - my favorite combination. You can find that code here: https://github.com/Alan-R/ctypesgen This version works with Python 2 or Python 3 and all the libraries on my recent Ubuntu system. With this taken care of, I can now move the rest of the Assimilation code to Python >= 3.7 (exclusively). There are quite a few advantages to python 3. For example, the ctypesgen tests run about twice as fast on Python 3.7 as they did on Python 2.7. It also supports type declarations and checks using mypy. I've been using Python 3.7 for quite a while at work, and I love it. I still plan on packaging the CMA as a docker container, which means dependency problems disappear, and ease of installation goes way up. Of course, if you want to build it yourself, you can always run it outside of a container. I've been using gRPC at work. I'm thinking about that for some of the CMA APIs. There are good bindings for most languages. In particular, there is a need for an event API to get notified when various kinds of events occur in the collective. -- Alan Robertson al...@unix.sh _______________________________________________ Assimilation mailing list - Discovery-Driven Monitoring Assimilation@lists.community.tummy.com http://lists.community.tummy.com/cgi-bin/mailman/listinfo/assimilation http://assimmon.org/