Just came across an article which explains the architecture pattern of an API gateway pretty well.
Zato Blog: What is an API gateway?
https://zato.io/blog/posts/what-is-an-api-gateway.html
Converted an old #python app of mine to Python3 via 2to3, which I had postponed for years. Finally, with moving to a new machine last year, the thing broke, so this was on my list for quite a while now.
It turned out to be much easier than I had expected. I needed to get rid of a dependency to pysqlite as it's now part of the standard distribution and had to look a little bit into how to create wheels instead of eggs, but that was it. I didn't had to touch a single line of real code.
Leo Zovic: Error Handling In Context Managers http://langnostic.inaimathi.ca/posts/error-handling-in-context-managers
That's a nice discussion of #commonlisp unwind-protect in the context of with-resource macros, also showing how to achieve something similar in #python. The Python try/catch approach would also work in Clojure. But note that it is substantially less powerful than CL's handler/restart system.
The little book of Python anti-patterns:
https://docs.quantifiedcode.com/python-anti-patterns/
#python #antipatterns
Using emscripten and WebAsm to run #python in the browser for data science. What a horrible abomination of technology. https://github.com/iodide-project/pyodide
Living in Germany, interested in #clojure, #softwarearchitecture, #agile, #emacs, #opensource, #nlp, #security and #privacy.