{"id":23769,"library":"fsspec-xrootd","title":"fsspec-xrootd","description":"Provides an fsspec-compatible interface for the XRootD protocol, enabling access to remote storage systems (e.g., EOS, storage elements) via a unified filesystem-like API. Current version 0.5.4, supports Python >=3.9. Releases follow a relatively stable cadence.","status":"active","version":"0.5.4","language":"python","source_language":"en","source_url":"https://github.com/indigo-dc/fsspec-xrootd","tags":["fsspec","xrootd","remote-filesystem","storage","high-energy-physics"],"install":[{"cmd":"pip install fsspec-xrootd","lang":"bash","label":"PyPI install"}],"dependencies":[{"reason":"Core library that this package extends","package":"fsspec","optional":false},{"reason":"Python bindings for the XRootD client; must be installed separately (e.g., via conda or system package)","package":"XRootD","optional":false}],"imports":[{"note":"The correct import as of 0.5.x.","symbol":"XRootDFileSystem","correct":"from fsspec_xrootd import XRootDFileSystem"},{"note":"Also works via fsspec's implementation registry.","symbol":"XRootDFileSystem","correct":"from fsspec.implementations.xrootd import XRootDFileSystem"},{"note":"This imports the low-level xrootd bindings, not the fsspec implementation.","wrong":"import xrootd","symbol":"xrootd"},{"note":"Letter case typo: 'Filesystem' vs 'FileSystem' (capital S).","wrong":"from fsspec_xrootd import XRootDFilesystem","symbol":"XRootDFilesystem"}],"quickstart":{"code":"import os\nfrom fsspec_xrootd import XRootDFileSystem\n\n# Example: list files at a root (adjust URL as needed)\nfs = XRootDFileSystem()\nfiles = fs.ls('/user/test')\nprint(files)","lang":"python","description":"Minimal example to create an XRootDFileSystem and list files. The XRootD client must be installed and configured (if using authentication, set XROOTD_VOMS environment variable)."},"warnings":[{"fix":"Update imports to `from fsspec_xrootd import XRootDFileSystem`.","message":"In version 0.5.0, the import path changed from `fsspec_xrootd.XRootDFileSystem` to the current one. Old code using `fsspec.implementations.xrootd` still works but may break if internal refactoring occurs.","severity":"breaking","affected_versions":"<0.5.0"},{"fix":"Install XRootD Python bindings: `conda install xrootd` or `apt install python3-xrootd` (system).","message":"The XRootD Python bindings (PyPI: xrootd) are not automatically installed. Users must install them separately (e.g., via conda or system package manager). Failure to do so results in `ModuleNotFoundError: No module named 'XRootD'`.","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure credentials are set (e.g., `export XROOTD_VOMS=...`) before using the filesystem.","message":"Authentication requires environment variables like `XROOTD_VOMS` or `XRDX509USERPROXY`. Without them, many operations silently fail or return empty results.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install XRootD: `conda install xrootd` or via system package manager (e.g., `apt install python3-xrootd`).","cause":"XRootD Python bindings are missing","error":"ModuleNotFoundError: No module named 'XRootD'"},{"fix":"Check credentials (XROOTD_VOMS, proxy) and verify path exists. Use `fs.ls('/')` first to list root.","cause":"Path might not exist or authentication failure causes empty listing","error":"FileNotFoundError: [Errno 2] No such file or directory: '/some/path'"},{"fix":"Use correct capitalization: `XRootDFileSystem` (capital S). For older versions, check fsspec.implementations.xrootd.","cause":"Typo in class name (capitalization) or outdated version (<0.5.0).","error":"ImportError: cannot import name 'XRootDFileSystem' from 'fsspec_xrootd'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}