Files
Marcelo Prates 937d839a0b Swap opencv-python for opencv-python-headless
The Streamlit Cloud deploy was failing with:

    ImportError: libgthread-2.0.so.0: cannot open shared object file:
    No such file or directory

opencv-python 5.0.0.93 (allowed by the >=4.11.0.86 floor in
requirements.txt and pulled by uv on the latest deploy) links
against the GLib runtime at module load time. packages.txt ships
libgl1 (OpenGL runtime), but the GLib shared object is not present
on Streamlit Cloud's image, so the cv2 native module cannot load.

opencv-python-headless exposes the same cv2 namespace, drops the
Qt/GTK/GLib dependency tree entirely, and is the upstream-
recommended variant for headless / server deployments.

The only cv2 callsites in this codebase are cv2.resize and
cv2.bilateralFilter (prettymaps/draw.py, hillshade layer path).
Both work identically under headless; locally validated:

  - import cv2: 5.0.0.0
  - pytest tests/: 9 passed
  - pytest tests/test.py: 23 passed
  - streamlit run app.py boots clean
  - cv2.resize + cv2.bilateralFilter verified end-to-end

No source code change; packages.txt intentionally left as-is
(libgl1 is small and harmless; the GLib runtime is no longer
needed by anything we depend on).
2026-07-30 13:04:09 -03:00

17 lines
281 B
Plaintext

numpy>=1.26.4
matplotlib>=3.9.0
shapely>=2.0.0
osmnx>=2.0.5
ipykernel>=6.29.5
rasterio>=1.4.3
rioxarray>=0.18.2
opencv-python-headless>=4.11.0.86
scikit-image>=0.25.2
vsketch>=1.0.0
thefuzz>=0.22.1
elevation>=1.1.3
streamlit>=1.60.0
tqdm>=4.70.0
scikit-learn>=1.6.1
marimo>=0.23.0