[HN Gopher] Show HN: PyApp - runtime installer for Python applic...
___________________________________________________________________
Show HN: PyApp - runtime installer for Python applications
Author : ofek
Score : 63 points
Date : 2023-12-13 16:17 UTC (6 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| dkroy wrote:
| This looks really useful. I would love to see some more end-to-
| end examples though it's nice to see the animated one right away
| in the readme.
| anze3db wrote:
| There are some configuration examples the docs[0] but since the
| project is still young there is probably room for improvements.
| Any particular that you'd like to see there?
|
| [0] https://ofek.dev/pyapp/latest/examples/
| notatallshaw wrote:
| An example of running this on the command line that isn't a
| GIF.
| pabe wrote:
| How does it differentiate from PyInstaller?
| toyg wrote:
| ... or py2exe, cxFreeze...
| globular-toast wrote:
| I wondered the same, then checked the source. The difference is
| this one is made with Rust.
| ofek wrote:
| The main difference is it does no build sorcery. In the end,
| your code is running on a real installation on disk. Therefore,
| there is no chance for extension modules to fail.
| seanthemon wrote:
| Does it potentially solve the problem of anti viruses false-
| flagging the runtime? Pyinstaller was giving me huge
| headaches with this
| pantsforbirds wrote:
| Are there any examples of PyApp using libraries that wrap other
| languages (Numpy, SpaCy, etc.)? In my experience, it has been
| extremely difficult to ship data/ml heavy applications built with
| Python as a binary.
| ofek wrote:
| I think this is the most common pattern where you wish to
| execute a script based on a requirements file:
| https://ofek.dev/pyapp/latest/examples/#dependency-file-with...
| isoprophlex wrote:
| Holy shit! So looking at the flowchart elsewhere in the docs,
| this means the executable produced by pyapp will ensure the
| requirements file is processed before executing the actual
| module code?
|
| This is magic.
| ofek wrote:
| Yes it will that is exactly correct! That particular
| example actually was after I was reading how to set up
| Stable Diffusion and other AI stack stuff.
| isoprophlex wrote:
| I love this. This is exactly the idea the python
| ecosystem needs to unfuck it's packaging/distribution
| hell. I will start using this at work to try and solve
| the "how the hell do I distribute the spaghetti these
| devs produce in a sensible way" problem (we bundle
| dockerfiles atm and it's less than ideal)
|
| Will let you know if I have any avenues for potential
| improvement, etc.
| anze3db wrote:
| This looks really awesome! I'll try it out on some of my projects
| that I never tried to share outside of the Python community
| because setting up Python and/or pipx always felt too much of a
| hassle for end users.
|
| Leave it to ofek to tackle one of the toughest problems in
| Python!
| globular-toast wrote:
| You definitely shouldn't require users to install pipx and
| double definitely not Python. Pipx is good for dev tooling like
| tox et al, though.
|
| Did you ever try pyinstaller?
| ktm5j wrote:
| I've had some success with pyinstaller but recently have been
| getting inconsistent results with an application I've written
| that uses pyside6. It was working for a while but all of a
| sudden the pyinstaller exe is giving an error that doesn't
| happen when I run the same code using python.
|
| Happened right before I had to go to the hospital (where I
| currently am) so I haven't had a chance to dig into it. But
| if this works reliably I'd be happy to switch.
| ofek wrote:
| Can you please let me know how your experience is? Feel
| free to even open an issue on the repo!
| qubidt wrote:
| How does this compare to shiv? https://github.com/linkedin/shiv
| potatochup wrote:
| Shiv doesn't pack a python interpreter, it looks like this does
| ofek wrote:
| You can pack a Python interpreter but by default it downloads
| it (if not already cached)
| pacifika wrote:
| Hopefully it's a bit faster than ptinstallers first run
| experience. That was the main reason I didn't use it.
| ofek wrote:
| Can you please let me know how your experience goes after
| trying this?
| pacifika wrote:
| Yup
| delijati wrote:
| will go on my "to try" list where i already have cosmopolitan
| [2]. my last setup (windows) was shiv + wine + nsis (used that as
| pyinstaller had some issues)[2]
|
| [1]
| https://github.com/jart/cosmopolitan/issues/141#issuecomment...
| [2] https://github.com/delijati/docker-shiv#add-python-
| interpret...
| ofek wrote:
| Please let me know how it goes!
___________________________________________________________________
(page generated 2023-12-13 23:00 UTC)