JVM developer here. I've dabbled a bit in Python, but I never had to deliver a Python package.
However, Uber JARs are definitely not the great solution as described in the post. They sure allow to put everything in the same archive, but woe if you have the same dependency with different versions used transitively by other dependencies.
Plus, there are different plugins to achieve that, some better suited, some requiring a specific framework. If you're interested to understand the complexity behind it, I've written a dedicated post: https://blog.frankel.ch/creating-self-contained-executable-jars/