Installation
Requirements
Python 3.9 or newer.
git-annex, as for DataLad itself. Install it with your system’s package manager (e.g.
sudo apt-get install git-annexon Debian/Ubuntu,brew install git-annexon macOS), from conda-forge (conda install -c conda-forge git-annex), or into your Python environment withpip install git-annex. The DataLad Handbook covers more options.FUSE, only for mounting datasets with
datalad fusefs. The fusepy bindings used bydatalad-fuseneed the FUSE 2 library (libfuse.so.2), plus thefusermounthelper, which FUSE 3 also provides. Recent Debian and Ubuntu releases come with FUSE 3 only; add the FUSE 2 library to it, keeping FUSE 3 installed:Debian 13 (trixie), Ubuntu 24.04 and newer:
sudo apt-get install fuse3 libfuse2t64
Debian 12 (bookworm), Ubuntu 22.04:
sudo apt-get install fuse3 libfuse2
older releases:
sudo apt-get install fuse
On these releases, installing the
fusepackage instead would removefuse3, and with it possibly other packages that depend on it.FUSE mounts are developed and tested on Linux. Opening files from Python (see Python usage) and
datalad fsspec-headdo not need FUSE at all.
Installing datalad-fuse
Install the latest release from PyPI with pip; DataLad, fsspec and the other Python dependencies are installed along with it:
$ python3 -m pip install datalad-fuse
To install the development version, which may include features that are not released yet:
$ python3 -m pip install git+https://github.com/datalad/datalad-fuse.git
Optional backends
Remote files are read by a backend (see Backends). fsspec, which handles every kind of file, is always installed. remfile, which is faster for NWB/HDF5 files, is optional:
$ python3 -m pip install "datalad-fuse[remfile]"
The full extra installs every optional backend, currently the same one:
$ python3 -m pip install "datalad-fuse[full]"
Installing remfile is enough to start using it: NWB/HDF5 files are read with it by default from then on. Without it, those files are read with fsspec, as before.
Note
The optional backends are newer than the 0.6.0 release.
Checking the installation
datalad-fuse is a DataLad extension: it adds commands to DataLad. Check
that DataLad finds them and that git-annex is available:
$ datalad fusefs --help
Usage: datalad fusefs [-h] [-d DATASET] [-f] [--mode-transparent]
...
$ git annex version
git-annex version: 10.20260901
...
and that the Python package can be imported:
$ python3 -c "import datalad_fuse; print(datalad_fuse.__version__)"
To check whether the optional remfile backend is available:
$ python3 -c "import remfile; print(remfile.__file__)"