dCacheFS

GitHub License PyPI Zenodo CII Best Practices CI Test CI Publish Documentation

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.