Skip to main content

Mount remote cloud storage as FUSE filesystem

Project description

FUSE File System for accessing remote servers

A FUSE file system for mounting remote file servers as local directories. Currently, we support Microsoft SharePoint sites.

Installation

pip install remote-fuse

Configuration

The following environment variables need to be set:

  • TENANT_ID: Azure AD tenant ID
  • CLIENT_ID: Azure AD client/application ID
  • CLIENT_SECRET: Azure AD client secret
  • SITE_ID: SharePoint site ID

Running

# 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>

Development

# Install dependencies
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -e .

# For development/testing
pip install -e ".[test]"

Requirements

  • FUSE implementation (libfuse2 on Ubuntu, macFUSE on macOS)

Usage

# 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

Overview of the project

  • src/remote_fuse.py: Implements Fuse interface and by invoking API calls to remote service
  • src/sharepoint.py: Implements the interface to present SharePoint as a local filesystem
  • commands/fuse_sharepoint.py: Mounts SharePoint site as local directory

python-fuse documentation

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remote_fuse-0.1.1.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

remote_fuse-0.1.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file remote_fuse-0.1.1.tar.gz.

File metadata

  • Download URL: remote_fuse-0.1.1.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for remote_fuse-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1ed2b31836e0df09a0b7eb93aed6ab4f9e84e8d750462e3bfc578203cc954a92
MD5 8373f07d82fb6841ca64e34aacc7928d
BLAKE2b-256 d3a6b76428d3708a99af7ab5376079fa1d8e2089a8096c1e57d654adcab75e77

See more details on using hashes here.

File details

Details for the file remote_fuse-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: remote_fuse-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for remote_fuse-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eccee07f7cf520a591e4d4b857f55593b75a895ed4f54731b1c40c8831dde352
MD5 e771d6c5fd85d37442512ea08b7cf621
BLAKE2b-256 669c6fe686b6fec561b9fc55965cb3e3d2d20bdb23e023b0fdbcc4f99d37a7f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page