Information: This is a fork (derivative work) of ofek/pyapp, with many opinionated changes and new features for a better user experience and consistency in BrokenSource's projects installers, namely:
- Create a tracker file after successfully installing a project in its virtual environment path, for detecting partial installs and taking actions to reinstall preemptively
- Set assets downloads cache (Python, uv, lockfiles) and
UV_CACHE_DIR
to aCommon/*
subdirectory of the install root, for better organization and centralizing a place to easily delete all the data - Add an option to bundle multiple wheels with
PYAPP_EXTRA_WHEELS
for monorepo usage - Add
PYAPP_APP_AUTHOR
andPYAPP_APP_NAME
for using subdirectories inPYAPP_INSTALL_DIR
- Add an option to embed uv in the executable
See the .compile()
function in Broken/__main__.py
for the usage and details.
Time will tell, but I might develop my own in-house solution down the line - if uv
or someone else doesn't catches up for building executables from Python projects.