aider/scripts/pip-compile.sh
2025-05-14 19:57:05 +02:00

57 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
# exit when any command fails
set -e
# Add verbosity flag to see more details about dependency resolution
VERBOSITY="-v" # Use -v for less detail, -vvv for even more detail
# Attention: uv doesn't update to minor releases when output-file exists!
# First compile the common constraints of the full requirement suite
# to make sure that all versions are mutually consistent across files
rm requirements/common-constraints.txt
uv pip compile \
$VERBOSITY \
--no-strip-extras \
--output-file=requirements/common-constraints.txt \
requirements/requirements.in \
requirements/requirements-*.in \
$1
# Compile the base requirements
rm tmp.requirements.txt
uv pip compile \
$VERBOSITY \
--no-strip-extras \
--constraint=requirements/common-constraints.txt \
--output-file=tmp.requirements.txt \
requirements/requirements.in \
$1
{
grep -v ^tree-sitter= tmp.requirements.txt
echo; cat requirements/tree-sitter.in
echo; cat requirements/pydub.in
} > requirements.txt
# Compile additional requirements files
SUFFIXES=(dev help browser playwright)
for SUFFIX in "${SUFFIXES[@]}"; do
rm requirements/requirements-${SUFFIX}.txt
uv pip compile \
$VERBOSITY \
--no-strip-extras \
--constraint=requirements/common-constraints.txt \
--output-file=requirements/requirements-${SUFFIX}.txt \
requirements/requirements-${SUFFIX}.in \
$1
done
# There were too many different versions required in torch
# https://github.com/pytorch/pytorch/issues/145225
# https://github.com/pytorch/pytorch/pull/147197
# https://github.com/pytorch/pytorch/issues/151312
sed -i '' 's/^sympy==1.13.1$/sympy==1.13.3/g' requirements/common-constraints.txt requirements/requirements-help.txt