A FUSE file system for mounting remote file servers as local directories. Currently, we support Microsoft SharePoint sites.
pip install remote-fuseThe 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 src/commands/fuse_sharepoint.py <mount-point> [--site-id optional]
# Unomunt SharePoint site when finished
fusermount -uqz <mount-point>
# Run tests
pytestsrc/remote_fuse/core.py: Implements Fuse interface and by invoking API calls to remote servicesrc/remote_fuse/sharepoint.py: Implements the interface to present SharePoint as a local filesystemsrc/commands/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