bump python packages, use UV instead of conda, update docker build#766
Merged
m-reuter merged 17 commits intoDeep-MI:devfrom Jan 26, 2026
Merged
bump python packages, use UV instead of conda, update docker build#766m-reuter merged 17 commits intoDeep-MI:devfrom
m-reuter merged 17 commits intoDeep-MI:devfrom
Conversation
c658130 to
d5dadad
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR modernizes FastSurfer's build infrastructure and dependency management by migrating from conda to UV as the package manager and updating all Python packages.
Changes:
- Complete migration from conda to UV for Python environment management
- Removal of all conda-specific files and configuration
- Docker build refactoring to use UV instead of conda, with Ubuntu 24.04 as base
- Python version references updated from
python3.10topython3throughout scripts - Addition of xvfb-run support for headless OpenGL rendering in corpus callosum QC
- Package version updates in pyproject.toml including torch 2.7.*, torchvision 0.22.1, and new dependencies
Reviewed changes
Copilot reviewed 26 out of 28 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/build/link_fs.sh | Convert string to array syntax, change error to warning |
| tools/build/install_fs_pruned.sh | Remove login shell, add error handling for parallel execution, convert strings to arrays |
| tools/Docker/install_env.py | File deleted - conda-specific environment installer |
| tools/Docker/build.py | Update shebang, replace conda with venv references, add new build args, update version support |
| tools/Docker/entrypoint.sh | Update comment from conda to venv |
| tools/Docker/conda_pack.sh | File deleted - conda-specific packaging script |
| tools/Docker/Dockerfile | Major refactor: UV instead of conda, Ubuntu 24.04, new build stages, add xvfb dependencies |
| tools/Docker/README.md | Update documentation for UV, new version numbers |
| run_fastsurfer.sh | Update python reference, add xvfb-run support for OpenGL |
| recon_surf scripts | Update python version references |
| pyproject.toml | Update dependencies, add Python 3.13 support, pin torch/torchvision versions |
| env/*.yml | Conda environment files deleted |
| doc/overview/*.md | Update documentation from conda to UV |
| Tutorial files | Update from conda to UV instructions |
| FastSurferCNN/version.py | Minor formatting changes, update git status flags |
| FastSurferCNN/utils/checkpoint.py | Improved error handling for checkpoint downloads |
| FastSurferCNN/data_loader/conform.py | Fix type annotation |
| CorpusCallosum/shape/mesh.py | Improve OpenGL/whippersnappy error handling |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
37e500d to
d208b9e
Compare
m-reuter
reviewed
Jan 23, 2026
a68b22e to
ef53e04
Compare
Update pyproject dependencies. Update docker build script.
8e1d060 to
9cf0609
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 39 out of 41 changed files in this pull request and generated 11 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
install conda pack into a separate environment add labels to the different images pass values for the labels in the images through the build script make sure linking fspython to /venv/bin/python works Some formatting cleanup Resolve upx bugs
change the virtual environment and python install command from conda to uv Remove conda-related files, as our primary install mechanism is now uv (instead of conda, with the dependencies defined in pyproject). Update version and build scripts to work with the new Dockerfile.
…king it more flexible).
Add a check/error message if we are running headless and wrap the fastsurfer-cc call in xvfb-run.
…ftlink so it uses the correct venv and search paths
… requests, so prefer b2share from juelich
…cc.py, if the QC thickness image does not get rendered (due to whippersnappy, opengl, glfw, or x-server connection/framebuffer missing.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
9cf0609 to
e0229d0
Compare
…by importing FastSurferCNN.utils.run_tools, where nibabel and numpy might not be installed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR includes:
Todo:
finish surface pipeline testingcurrently there is an error where Freesurfer'srca-config(a python script) cannot importyamlbut yaml is installed and available in the distributed python environment