A FUSE file system for mounting remote file servers as local directories. Currently, we support Microsoft SharePoint sites.
pip install remote-fuse
The following environment variables need to be set:
TENANT_ID
: Azure AD tenant IDCLIENT_ID
: Azure AD client/application IDCLIENT_SECRET
: Azure AD client secretSITE_ID
: SharePoint site ID
# Mount remote cloud storage
remote-fuse <mounting-point>
# Optionally, you can add `--site-id <site-id` as an argument to the command.
# Unomunt when finished
fusermount -uqz <mount-point>
# Install dependencies
python -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -e .
# For development/testing
pip install -e ".[test]"
- FUSE implementation (libfuse2 on Ubuntu, macFUSE on macOS)
# Mount SharePoint site as local directory
python commands/fuse_sharepoint.py <mount-point>
# Unomunt SharePoint site when finished
fusermount -uqz <mount-point>
# Run tests
pytest
src/remote_fuse.py
: Implements Fuse interface and by invoking API calls to remote servicesrc/sharepoint.py
: Implements the interface to present SharePoint as a local filesystemcommands/fuse_sharepoint.py
: Mounts SharePoint site as local directory
Currently, python-fuse only supports Linux. There is no easy way to stop the process once started, it doesn't react to signals, however, it will stop if you unmount it. https://github.com/libfuse/python-fuse/blob/master/README.new_fusepy_api.rst