dCacheFS
dCacheFS provides a Python file-system interface for a dCache storage system, such as the instance provided at SURF.
dCacheFS builds and extend the Filesystem Spec (fsspec) library, so that it can be used as an independent library or via the more general fsspec functions.
Installation
To install dcachefs, do:
pip install dcachefs
Documentation
The project’s full documentation can be found here
Development
If you want to modify/develop dcachefs, clone this repository and install it in editable mode with the dev dependencies:
git clone git@github.com:RS-DAT/dcachefs
cd dcachefs
pip install -e .[dev]
In order to keep a consistent coding style, we use the Ruff linter and formatter:
ruff check .
ruff format .
The commands above can be run automatically at every commit via pre-commit hooks, which can be installed by running:
pre-commit install
Run tests (including coverage) with:
pytest
In order to build the documentation, you need to install the docs dependencies:
pip install -e .[docs]
cd docs
make html
Contributing
If you want to contribute to the development of dCacheFS, have a look at the contribution guidelines.
License
Copyright (c) 2026, Netherlands eScience Center
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Credits
This package was created with Cookiecutter and the NLeSC/python-template.