1313# Detect environment
1414IS_CONDA=" 0"
1515IS_MINGW=" 0"
16+ IS_UV=" 0"
1617IS_WINDOWS=" 0"
1718if [ -n " $CONDA_EXE " ]; then
1819 IS_CONDA=" 1"
@@ -21,6 +22,7 @@ elif [ -n "$MINGW_PACKAGE_PREFIX" ]; then
2122elif which python & > /dev/null; then
2223 PY_PLATFORM=$( python -c " import sysconfig; print(sysconfig.get_platform(), end='')" )
2324 IS_WINDOWS=$( [[ $PY_PLATFORM == win* ]] && echo " 1" )
25+ IS_UV=" 1"
2426else
2527 echo " error: Python is required."
2628 exit 1
@@ -128,12 +130,9 @@ else
128130 env UV_INSTALL_DIR=" $INSTALL_DIR " sh
129131 fi
130132
131- # Lief is not available for Python 3.13t and 3.14t
132- PY_VERSION=$( python -c " import sysconfig; print(sysconfig.get_python_version(), end='')" )
133+ # Lief is not available for Python free-threaded
133134 PY_ABI_THREAD=$( python -c " import sysconfig; print(sysconfig.get_config_var('abi_thread') or '', end='')" )
134- PY_VER_ABI=" $PY_VERSION$PY_ABI_THREAD "
135- if [ " $IS_WINDOWS " == " 1" ] && \
136- { [ " $PY_VER_ABI " == " 3.13t" ] || [ " $PY_VER_ABI " == " 3.14t" ]; }; then
135+ if [ " $IS_WINDOWS " == " 1" ] && [ " $PY_ABI_THREAD " == " t" ]; then
137136 # Packages to install
138137 pkgs=()
139138
@@ -182,11 +181,18 @@ if [ "$INSTALL_DEV" == "1" ]; then
182181 PY_VER_ABI=" $PY_VERSION$PY_ABI_THREAD "
183182 while read -r line; do
184183 name=$( echo " $line " | awk -F ' [><=]+' ' { print $1 }' )
185- filename=$INSTALL_DIR /$name
186- echo " Create $filename "
187- echo " #!/bin/sh" > " $filename "
188- echo " uvx -p $PY_VER_ABI \" $line \" \$ @" >> " $filename "
189- chmod +x " $filename "
184+ # prek has no dependencies (doesn't bloat the installed packages)
185+ if [ " $name " == " prek" ] && [ " $IS_CONDA " == " 1" ]; then
186+ $CONDA_EXE install -c conda-forge " $name " -S -q -y
187+ elif [ " $name " == " prek" ] && [ " $IS_UV " == " 1" ]; then
188+ uv pip install --upgrade " $name "
189+ else
190+ filename=$INSTALL_DIR /$name
191+ echo " Create $filename "
192+ echo " #!/bin/sh" > " $filename "
193+ echo " uvx -p $PY_VER_ABI \" $line \" \$ @" >> " $filename "
194+ chmod +x " $filename "
195+ fi
190196 done < requirements-dev.txt
191197 fi
192198fi
0 commit comments