Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MNT: Update environment pins #3226

Merged
merged 8 commits into from
Feb 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,17 @@
# SOFTWARE.

# Ubuntu 22.04 LTS - Jammy
ARG BASE_IMAGE=ubuntu:jammy-20230308
ARG BASE_IMAGE=ubuntu:jammy-20240125

#
# fMRIPrep wheel
# Build wheel
#
FROM python:slim AS src
RUN pip install build
RUN apt-get update && \
apt-get install -y --no-install-recommends git
COPY . /src/fmriprep
RUN python -m build /src/fmriprep
COPY . /src
RUN python -m build /src

#
# Download stages
Expand Down Expand Up @@ -96,9 +96,16 @@ RUN mkdir /opt/convert3d && \

# Micromamba
FROM downloader as micromamba

# Install a C compiler to build extensions when needed.
# traits<6.4 wheels are not available for Python 3.11+, but build easily.
RUN apt-get update && \
apt-get install -y --no-install-recommends build-essential && \
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

WORKDIR /
# Bump the date to current to force update micromamba
RUN echo "2023.04.05"
RUN echo "2024.02.06"
RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba

ENV MAMBA_ROOT_PREFIX="/opt/conda"
Expand All @@ -112,7 +119,7 @@ RUN micromamba create -y -f /tmp/env.yml && \
# Check if this is still necessary when updating the base image.
ENV PATH="/opt/conda/envs/fmriprep/bin:$PATH" \
UV_USE_IO_URING=0
RUN npm install -g svgo@^3.0.4 bids-validator@^1.13.1 && \
RUN npm install -g svgo@^3.2.0 bids-validator@^1.14.0 && \
rm -r ~/.npm

#
Expand Down Expand Up @@ -249,7 +256,7 @@ RUN curl -L -H "Accept: application/octet-stream" https://api.github.com/repos/e
&& chmod +x /usr/local/bin/msm

# Installing FMRIPREP
COPY --from=src /src/fmriprep/dist/*.whl .
COPY --from=src /src/dist/*.whl .
RUN pip install --no-cache-dir $( ls *.whl )[container,test]

RUN find $HOME -type d -exec chmod go=u {} + && \
Expand Down
10 changes: 5 additions & 5 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ nipype_.
not handled by the Python's packaging system (Pypi) used to deploy
the ``fmriprep`` package:

- FSL_ (version 6.0.6.2)
- ANTs_ (version 2.4.4)
- AFNI_ (version 23.1.05)
- `C3D <https://sourceforge.net/projects/c3d/>`_ (version 1.3.0)
- FSL_ (version 6.0.7.7)
- ANTs_ (version 2.5.1)
- AFNI_ (version 24.0.05)
- `C3D <https://sourceforge.net/projects/c3d/>`_ (version 1.4.0)
- FreeSurfer_ (version 7.3.2)
- `bids-validator <https://github.com/bids-standard/bids-validator>`_ (version 1.8.0)
- `bids-validator <https://github.com/bids-standard/bids-validator>`_ (version 1.14.0)
- `connectome-workbench <https://www.humanconnectome.org/software/connectome-workbench>`_ (version 1.5.0)

Not running on a local machine? - Data transfer
Expand Down
22 changes: 11 additions & 11 deletions env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,36 @@ name: fmriprep
channels:
- https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/public/
- conda-forge
# Update this ~yearly; last updated April 2023
# Update this ~yearly; last updated Jan 2024
dependencies:
- python=3.10
- python=3.11
# Needed for svgo and bids-validator; consider moving to deno
- nodejs=18
- nodejs=20
# Intel Math Kernel Library for numpy
- mkl=2022.1
- mkl-service=2.4
- mkl=2023.2.0
- mkl-service=2.4.0
# git-annex for templateflow users with DataLad superdatasets
- git-annex=*=alldep*
# Base scientific python stack; required by FSL, so pinned here
- numpy=1.26
- scipy=1.11
- matplotlib=3.8
- pandas=2.1
- pandas=2.2
- h5py=3.10
# Dependencies compiled against numpy, best to stick with conda
- nitime=0.10
- scikit-image=0.22
- scikit-learn=1.3
- scikit-learn=1.4
# Utilities
- graphviz=6.0
- graphviz=9.0
- pandoc=3.1
# Workflow dependencies: ANTs
- ants=2.5.0
# Workflow dependencies: FSL (versions pinned in 6.0.7.4)
- ants=2.5
# Workflow dependencies: FSL (versions pinned in 6.0.7.7)
- fsl-bet2=2111.4
- fsl-flirt=2111.2
- fsl-fast4=2111.3
- fsl-fugue=2201.3
- fsl-fugue=2201.4
- fsl-mcflirt=2111.0
- fsl-miscmaths=2203.2
- fsl-topup=2203.2
Expand Down
Loading