Skip to main content

GoFUSE

Description

GoFUSE is a pyfuse / xmlrpc based distributed filesystem. It can be used to quickly share files across an network in testing or development environments.

Installation

GoFUSE depends on FUSE, the 'Filesystem in Userspace' interface. On MacOS you can install the necessary kernel extension with Homebrew using brew install --cask osxfuse. On Linux you could run sudo apt install libfuse. The installation of GoFUSE itself is pretty straight forward.

pip3 install GoFUSE

Usage

python3 -m GoFUSE.server <directory>
python3 -m GoFUSE.client <mountpoint>

Example

To run the GOFUSE server process on localhost (port 5001) you can run this:

SERVER_URL=127.0.0.1:5001 python3 -m GoFUSE.server .

Afterh the server has been started you can mount the directory the server is publishing with the client like this:

SERVER_URL=127.0.0.1:5001 python3 -m GoFUSE.client /mnt/data/

Options

Some GoFUSE internals can be changed using enviromnent variables:

  • SERVER_URL: Define IP/FQDN and port

    • Default: "0.0.0.0:5000"
    • Examples: "127.0.0.1:5001", "192.168.0.1:8080"
  • LOGLEVEL: Change verbosity of logging

    • Default: "ERROR"
    • Examples: "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "NOTSET"
  • PROTOCOL: Change access protocol

    • Default: "http://"
    • Example: "https://"
    • Note: This is only available for the client. If you want to change the protocol the server is using you must use a proxy (that is not included here). This feature is experimental and untested.

Known issues

In docker environments you might have to run containers in privileged mode in order to be able to inject the FUSE extension that is needed.

This filesystem implementation is not intended to be used in production environments - sendig all data via xmlrpc has a rather big overhead and will most likely lead to problems when larger files are transmitted.

Release files for GoFUSE 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for GoFUSE 0.0.8
File Size Uploaded
GoFUSE-0.0.8.tar.gz 18.5 kB Details

Release files / GoFUSE-0.0.8.tar.gz

Download URL GoFUSE-0.0.8.tar.gz
Size 18.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ee0c2e55b035e94fda046dc62669ebc74f3a6b75ddc57e4ce0ec17c312d28f6f
BLAKE2b-256 checksum
How to use checksums
9c720a5d16210c313babb928963607b81d221e928d1260afb549444fa8582132
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

Release history Release notifications | RSS feed

This release

0.0.8 This release

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page