%global pypi_name voxtell Name: python-%{pypi_name} Version: 0.1.2 Release: 1%{?dist} Summary: Free-text promptable universal 3D medical image segmentation # Apache-2.0 covers the code, which is all this package ships. The VoxTell model # weights (huggingface.co/mrokuss/VoxTell) are CC-BY-NC-SA-4.0 (non-commercial) # and are NOT packaged: VoxTell downloads them on first use into the Hugging # Face cache, like nnInteractive (python-nninteractive.spec). The Qwen3-Embedding-4B # text encoder it downloads is Apache-2.0. License: Apache-2.0 URL: https://github.com/MIC-DKFZ/VoxTell Source0: %{pypi_source %{pypi_name}} BuildArch: noarch BuildRequires: python3-devel BuildRequires: pyproject-rpm-macros # server extra, for the import check of voxtell.server BuildRequires: python3-fastapi BuildRequires: python3-uvicorn BuildRequires: python3-blosc2 %global _description %{expand: VoxTell segments 3D CT, MRI and PET volumes from a free-text prompt such as "left hippocampus" or "liver lesion". A frozen Qwen3-Embedding-4B model embeds the prompt and an nnU-Net based decoder segments the volume. It comes from the DKFZ Division of Medical Image Computing. Commands: voxtell-predict (segment NIfTI files), voxtell-server (an HTTP server for viewers such as napari-voxtell) and voxtell-finetune. No model weights are included. VoxTell downloads its checkpoint from Hugging Face on first use (or reads $VOXTELL_MODEL); that checkpoint is CC-BY-NC-SA-4.0 (non-commercial use only). The code in this package is Apache-2.0.} %description %_description %package -n python3-%{pypi_name} Summary: %{summary} # upstream's server extra (voxtell-server) Requires: python3-fastapi Requires: python3-uvicorn Requires: python3-blosc2 %description -n python3-%{pypi_name} %_description %prep %autosetup -n %{pypi_name}-%{version} # As in python-nnunetv2.spec: torch != 2.9.* is a CUDA/cuDNN performance guard, # not a correctness constraint, and does not apply to Fedora's torch. sed -i 's/"torch>=2\.1\.2,!=2\.9\.\*"/"torch>=2.1.2"/' pyproject.toml grep -q '!=2.9' pyproject.toml && exit 1 || : %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files %{pypi_name} %check %pyproject_check_import %files -n python3-%{pypi_name} -f %{pyproject_files} %license LICENSE %doc readme.md %{_bindir}/voxtell-predict %{_bindir}/voxtell-server %{_bindir}/voxtell-finetune %changelog * Tue Nov 03 2026 Morgan Hough - 0.1.2-1 - Initial package. Relaxes upstream's torch != 2.9.* exclusion (see %%prep). Weights are CC-BY-NC-SA-4.0 and fetched at runtime, not packaged.