Metadata-Version: 2.4
Name: swh.fuse
Version: 1.4.6
Summary: Software Heritage virtual file system
Author-email: Software Heritage developers <swh-devel@inria.fr>
License-Expression: GPL-3.0
Project-URL: Homepage, https://gitlab.softwareheritage.org/swh/devel/swh-fuse
Project-URL: Bug Reports, https://gitlab.softwareheritage.org/swh/devel/swh-fuse/-/issues
Project-URL: Funding, https://www.softwareheritage.org/donate
Project-URL: Documentation, https://docs.softwareheritage.org/devel/swh-fuse/
Project-URL: Source, https://gitlab.softwareheritage.org/swh/devel/swh-fuse.git
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: pyyaml
Requires-Dist: aiosqlite
Requires-Dist: psutil
Requires-Dist: pyfuse3>=3.4.0
Requires-Dist: python-daemon
Requires-Dist: requests
Requires-Dist: swh.core>=4.4.0
Requires-Dist: swh.model>=3.0.0
Requires-Dist: swh.web.client>=0.9.2
Provides-Extra: testing
Requires-Dist: pyyaml; extra == "testing"
Requires-Dist: aiosqlite; extra == "testing"
Requires-Dist: psutil; extra == "testing"
Requires-Dist: pyfuse3>=3.4.0; extra == "testing"
Requires-Dist: python-daemon; extra == "testing"
Requires-Dist: requests; extra == "testing"
Requires-Dist: swh.core>=4.4.0; extra == "testing"
Requires-Dist: swh.model>=3.0.0; extra == "testing"
Requires-Dist: swh.web.client>=0.9.2; extra == "testing"
Requires-Dist: swh.graph>=6.7.1; extra == "testing"
Requires-Dist: swh.objstorage>=3.4.0; extra == "testing"
Requires-Dist: swh.storage>=3.1.1; extra == "testing"
Requires-Dist: swh.digestmap; extra == "testing"
Requires-Dist: protobuf>=5.29.3; extra == "testing"
Requires-Dist: grpc-stubs; extra == "testing"
Requires-Dist: grpcio-health-checking>=1.76.0; extra == "testing"
Requires-Dist: pytest>=8.1; extra == "testing"
Requires-Dist: requests-mock; extra == "testing"
Requires-Dist: swh.core[testing]; extra == "testing"
Requires-Dist: swh.journal; extra == "testing"
Requires-Dist: xattr>=1.2.0; extra == "testing"
Requires-Dist: types-python-dateutil; extra == "testing"
Requires-Dist: types-psutil; extra == "testing"
Requires-Dist: types-pyyaml; extra == "testing"
Requires-Dist: types-requests; extra == "testing"
Requires-Dist: swh.graph>=6.7.1; extra == "testing"
Requires-Dist: swh.objstorage>=3.4.0; extra == "testing"
Provides-Extra: hpc
Requires-Dist: pyyaml; extra == "hpc"
Requires-Dist: aiosqlite; extra == "hpc"
Requires-Dist: psutil; extra == "hpc"
Requires-Dist: pyfuse3>=3.4.0; extra == "hpc"
Requires-Dist: python-daemon; extra == "hpc"
Requires-Dist: requests; extra == "hpc"
Requires-Dist: swh.core>=4.4.0; extra == "hpc"
Requires-Dist: swh.model>=3.0.0; extra == "hpc"
Requires-Dist: swh.web.client>=0.9.2; extra == "hpc"
Requires-Dist: swh.graph>=6.7.1; extra == "hpc"
Requires-Dist: swh.objstorage>=3.4.0; extra == "hpc"
Requires-Dist: swh.storage>=3.1.1; extra == "hpc"
Requires-Dist: swh.digestmap; extra == "hpc"
Requires-Dist: protobuf>=5.29.3; extra == "hpc"
Requires-Dist: grpc-stubs; extra == "hpc"
Requires-Dist: grpcio-health-checking>=1.76.0; extra == "hpc"
Dynamic: license-file

Software Heritage Filesystem (SwhFS)
====================================

User-space POSIX filesystem to browse the `Software Heritage
<https://www.softwareheritage.org/>`_ `archive
<https://archive.softwareheritage.org/>`_, as if it were locally available.

Built using the `FUSE <https://github.com/libfuse/libfuse>`_ framework.


Demo
----

A live demo of SwhFS in action is available as a `screencast
<https://www.youtube.com/watch?v=2L4ANVlICaE>`_.

First experiments of large-scale use of SwhFS on HPC were presented at
`PyConFR'25 <https://indymotion.fr/w/uiD5uX2WFe9kagAvL5yR9D>`_
(slides `here <https://gitlab.softwareheritage.org/teams/staff/slides/-/raw/master/talks-public/2025-11-02-PyConFR-swh-fuse/2025-11-02-PyConFR-swh-fuse.odp>`_).


Bibliography
------------

In addition to accompanying technical documentation, SwhFS is also described in
the following scientific paper. If you use SwhFS for your scientific results,
please acknowledge it by citing the paper as follows:

.. note::

  Thibault Allançon, Antoine Pietri, Stefano Zacchiroli. `The Software Heritage
  Filesystem (SwhFS): Integrating Source Code Archival with Development
  <https://arxiv.org/pdf/2102.06390.pdf>`_. In proceedings of `ICSE 2021
  <https://conf.researchr.org/home/icse-2021>`_: The 43rd International
  Conference on Software Engineering, May 2021, Madrid, Spain. IEEE 2021.

  Links: `preprint <https://arxiv.org/pdf/2102.06390.pdf>`_, `bibtex
  <https://upsilon.cc/~zack/research/publications/saner-2020-swh-graph.bib>`_.
