Metadata-Version: 2.5
Name: swh.fuse
Version: 1.5.0
Summary: Software Heritage virtual file system
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
Author-email: Software Heritage developers <swh-devel@inria.fr>
License-Expression: GPL-3.0
License-File: AUTHORS
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Requires-Dist: aiosqlite
Requires-Dist: psutil
Requires-Dist: pyfuse3>=3.4.0
Requires-Dist: python-daemon
Requires-Dist: pyyaml
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: hpc
Requires-Dist: aiosqlite; extra == 'hpc'
Requires-Dist: grpc-stubs; extra == 'hpc'
Requires-Dist: grpcio-health-checking>=1.76.0; extra == 'hpc'
Requires-Dist: protobuf>=5.29.3; extra == 'hpc'
Requires-Dist: psutil; extra == 'hpc'
Requires-Dist: pyfuse3>=3.4.0; extra == 'hpc'
Requires-Dist: python-daemon; extra == 'hpc'
Requires-Dist: pyyaml; extra == 'hpc'
Requires-Dist: requests; extra == 'hpc'
Requires-Dist: swh-core>=4.4.0; extra == 'hpc'
Requires-Dist: swh-digestmap; extra == 'hpc'
Requires-Dist: swh-graph>=6.7.1; extra == 'hpc'
Requires-Dist: swh-model>=3.0.0; extra == 'hpc'
Requires-Dist: swh-objstorage>=7.4.0; extra == 'hpc'
Requires-Dist: swh-storage>=3.1.1; extra == 'hpc'
Requires-Dist: swh-web-client>=0.9.2; extra == 'hpc'
Provides-Extra: testing
Requires-Dist: aiosqlite; extra == 'testing'
Requires-Dist: grpc-stubs; extra == 'testing'
Requires-Dist: grpcio-health-checking>=1.76.0; extra == 'testing'
Requires-Dist: protobuf>=5.29.3; extra == 'testing'
Requires-Dist: psutil; extra == 'testing'
Requires-Dist: pyfuse3>=3.4.0; extra == 'testing'
Requires-Dist: pytest>=8.1; extra == 'testing'
Requires-Dist: python-daemon; extra == 'testing'
Requires-Dist: pyyaml; extra == 'testing'
Requires-Dist: requests; extra == 'testing'
Requires-Dist: requests-mock; extra == 'testing'
Requires-Dist: swh-core>=4.4.0; extra == 'testing'
Requires-Dist: swh-core[testing]; extra == 'testing'
Requires-Dist: swh-digestmap; extra == 'testing'
Requires-Dist: swh-graph>=6.7.1; extra == 'testing'
Requires-Dist: swh-journal; extra == 'testing'
Requires-Dist: swh-model>=3.0.0; extra == 'testing'
Requires-Dist: swh-mosaic>=0.6.0; extra == 'testing'
Requires-Dist: swh-objstorage>=7.4.0; extra == 'testing'
Requires-Dist: swh-storage>=3.1.1; extra == 'testing'
Requires-Dist: swh-web-client>=0.9.2; extra == 'testing'
Requires-Dist: types-psutil; extra == 'testing'
Requires-Dist: types-python-dateutil; extra == 'testing'
Requires-Dist: types-pyyaml; extra == 'testing'
Requires-Dist: types-requests; extra == 'testing'
Requires-Dist: xattr>=1.2.0; extra == 'testing'
Description-Content-Type: text/x-rst

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>`_.
