skillfed

fusepy

Simple ctypes bindings for FUSE

fusepy v3.0.1 356.2K downloads/30d#7,283 on PyPI821
Permissive license ISC DORMANT released

What it is and what it does

fusepy is a lightweight Python wrapper around FUSE (Filesystem in Userspace) that lets you implement custom filesystems entirely in Python. It uses ctypes to bind to the FUSE C library, so it's a single-file module with no Python dependencies—you just need the FUSE library itself installed on your system. The package works on Linux, Mac OS X, and FreeBSD.

You use fusepy by subclassing its Operations class and implementing filesystem methods like getattr, read, write, and mkdir. Once implemented, you mount your filesystem and the OS treats it like any other mounted volume. The description notes examples for memory filesystems, loopback mounts, and SFTP filesystems, though the project is dormant (last release 2018-09-17) and now maintained by a GitHub organization.

Use it for:

  • Build a memory-backed filesystem for temporary storage or testing without touching disk
  • Create a loopback filesystem that mirrors or transforms another directory's contents
  • Implement an SFTP filesystem to mount remote servers as local directories
  • Prototype custom storage layers or data access patterns before committing to a full implementation
  • Expose database records or API responses as a browsable filesystem hierarchy

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

fusepy provides Python bindings to FUSE (Filesystem in Userspace), allowing you to implement custom filesystems in Python that appear as mounted volumes to the operating system.

Yes, if you need to implement a custom filesystem in Python and can tolerate dormant maintenance. The package is simple, dependency-free at the Python level, and widely used. However, verify compatibility with your Python version and OS before relying on it for production—the last release was 2018-09-17 and the codebase was written for 2x syntax compatibility. The external FUSE 2.6 requirement adds installation friction on systems where it is not pre-installed.

Install

fusepy on PyPI

pip

pip install fusepy

uv

uv add fusepy

poetry

poetry add fusepy

Installing fusepy

Before you install

Installation requires FUSE 2.6 or later to be present on the system (Linux, Mac OS X, or FreeBSD). The package itself is a single file with no runtime dependencies, but the high friction reflects the external system library requirement. Maintenance is dormant—last release was 2018-09-17, though the repository remains active under new maintainers as of the description note.

License in practice

ISC is a permissive license, so you can use fusepy freely in commercial and private projects with minimal restrictions.

Quickstart

pip install fusepy

import fusepy

class MyFS(fusepy.Operations):
    def getattr(self, path, fh=None):
        pass

fs = MyFS()
fusepy.FUSE(fs, '/mnt/point', nothreads=True, foreground=True)

FUSE 2.6 or later must be installed on the system; fusepy is a ctypes wrapper and does not bundle FUSE itself.

Verify before relying

  • Whether the package works reliably with modern Python versions despite being written with 2x syntax in mind
  • Current state of compatibility with recent macOS and Linux kernel versions
  • Whether new maintainers have backported fixes or security patches since 2018-09-17

Package facts

License ISC (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance dormant — 2,888 days since the last release
Last repo commit
First released
Downloads 356,186/month — #7,283 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: fusepy-3.0.1.tar.gz

Intended Audience :: DevelopersLicense :: OSI Approved :: ISC License (ISCL)Operating System :: MacOSOperating System :: POSIXOperating System :: UnixProgramming Language :: Python :: 2.6Programming Language :: Python :: 3Topic :: System :: Filesystems

Tags

FUSE Python bindingscustom filesystem implementationuserspace filesystemmount virtual filesystemFUSE ctypes wrapperfilesystem abstraction layerMacFUSE Python interface
filesystem-abstractionctypes-bindingsystem-level

More Filesystems packages