CoolFace
Modelpublic

chenming-wu/pyCuSFM-airgap-cuda12-py310

sourceHugging Faceupdated 1mo agoView on Hugging Face
0likes
Model Card

pyCuSFM air-gap bundle — CUDA 12 / Python 3.10 / x86_64

Everything needed to install pyCuSFM on a server with no internet, only an internal PyPI mirror. Built from upstream nvidia-isaac/pyCuSFM @ v0.1.8, targeting the CUDA 12 prebuilt binaries (matches nvcr.io/nvidia/tensorrt:24.12-py3 → Ubuntu 22.04, Python 3.10, TensorRT 10.7).

What's inside

pycusfm_wheel/
  pycusfm-0.1.8-py3-none-any.whl   # the package WITH cuda12 binaries + models + configs embedded (294 MB)
wheelhouse/                        # all Python deps as wheels/sdist (cp310, x86_64)
  numpy-1.26.4 / PyYAML / Pillow
  setuptools / wheel / packaging   # so the tensorrt meta sdist builds offline
  tensorrt_cu12-10.7.0.tar.gz          # meta (sdist)
  tensorrt_cu12_bindings-10.7.0-cp310  # python bindings
  tensorrt_cu12_libs-10.7.0 (~2 GB)    # libnvinfer etc. (from pypi.nvidia.com)
repo/                              # slim source snapshot (docs, configs, CLI py, docker files) for reference
scripts/
  install_offline.sh               # one-shot offline installer (fully local, no mirror needed)
  apt_system_deps.txt              # system libs to apt-install (NOT on PyPI)
  fetch_apt_debs.sh                # run on a networked Ubuntu 22.04 box to grab those .deb files
requirements-airgap.txt            # pinned versions

Install — option A: fully offline (recommended)

No mirror needed; installs straight from the local wheelhouse/.

bash
# 1) system libs (from your internal apt mirror, or the .deb files from fetch_apt_debs.sh)
sudo apt-get install -y libopencv-dev libgoogle-glog-dev libgflags-dev \
                        libabsl-dev libprotobuf-dev protobuf-compiler

# 2) the python package + all deps, offline
bash scripts/install_offline.sh

The installer sets NVIDIA_TENSORRT_DISABLE_INTERNAL_PIP=1 — essential, otherwise the tensorrt-cu12 meta package tries to pip install its sub-packages from pypi.nvidia.com at build time and fails on an air-gapped host.

Install — option B: via your internal PyPI mirror

Upload the wheelhouse to your mirror, then install by name:

bash
# on a machine that can reach the mirror (e.g. twine/devpi upload):
twine upload --repository-url <YOUR_MIRROR_UPLOAD_URL> wheelhouse/*   # incl. pycusfm_wheel/*.whl if desired

# on the air-gapped host:
export NVIDIA_TENSORRT_DISABLE_INTERNAL_PIP=1
pip install --index-url <YOUR_MIRROR_SIMPLE_URL> pycusfm    # if you uploaded the pycusfm wheel too
# ...or install pycusfm from the local wheel and only deps from the mirror:
pip install --index-url <YOUR_MIRROR_SIMPLE_URL> pycusfm_wheel/pycusfm-0.1.8-py3-none-any.whl

Runtime prerequisites (host, not shipped here)

  • —NVIDIA driver + CUDA 12 runtime/toolkit (libcudart.so.12, cuBLAS, …).
  • —The apt system libs in scripts/apt_system_deps.txt.
  • —If you get cannot open shared object file, add the package's own lib/ and the TensorRT libs to the loader path:
bash
  PYLIB=$(python3 -c 'import pycusfm,os;print(os.path.join(os.path.dirname(pycusfm.__file__),"lib"))')
  TRTLIB=$(python3 -c 'import tensorrt_libs,os;print(os.path.dirname(tensorrt_libs.__file__))')
  export LD_LIBRARY_PATH=$PYLIB:$TRTLIB:$LD_LIBRARY_PATH

Quick check

bash
cusfm_cli --help
# usage tutorial: repo/docs/tutorial.md
# run: cusfm_cli --input_dir <images> --cusfm_base_dir <output>

Notes / caveats

  • —Bundle targets CUDA 12 only. For CUDA 13 you'd need the x86_cuda13 binaries and a TensorRT/Python 3.12 stack — not included.
  • —The upstream sample dataset (data/, ~hundreds of MB of jpegs) was excluded; bring your own images.
  • —numpy pinned to 1.26.4 (numpy<2) for broad compat; bump if your code needs 2.x.
  • —Versions were resolved on 2026-08-12 from public PyPI + pypi.nvidia.com.