packaging: stop exact-pinning build backends

Exact setuptools/wheel pins block platform-specific backend patches and
make isolated pip installs fail on Android/Termux Python. Keep a setuptools
lower bound only, drop the unused wheel backend pin, keep requirements.txt
aligned with core package deps, and install the Spaces extra in Docker
instead of pulling bitsandbytes by default.

Android/Termux is still not a supported runtime; the new platform note
documents host wheels, ANDROID_API_LEVEL, and --no-build-isolation so
pip does not isolate a second setuptools or compile manylinux-only
extensions.
This commit is contained in:
Brian
2026-09-20 06:25:34 -07:00
parent 205d28a113
commit 73601bb13d
8 changed files with 114 additions and 7 deletions
+5 -3
View File
@@ -10,15 +10,17 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
WORKDIR /app
# Install Python deps first (cache layer)
# Install Python deps first (cache layer). requirements.txt is the core
# package graph; the Spaces extra adds Gradio for app.py without pulling
# the quantization extra.
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy project
COPY . .
# Install the package itself (for obliteratus imports)
RUN pip install --no-cache-dir .
# Install the package itself (for obliteratus imports) plus the UI extra.
RUN pip install --no-cache-dir ".[spaces]"
# Run as non-root user for security
RUN useradd -m appuser