fusepy
Simple ctypes bindings for FUSE
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 fusepyuv
uv add fusepypoetry
poetry add fusepyInstalling 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
Tags
More Filesystems packages
Watches file system changes and triggers…
permissive · top 1,000 on PyPI
watchdogWatchdog monitors file system events across…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
filetypeInfers file type and MIME type by examining…
permissive · top 1,000 on PyPI
pathvalidateSanitize and validate filenames and file paths…
permissive · top 5,000 on PyPI
pathlibProvides object-oriented filesystem path…
permissive · top 5,000 on PyPI
mfusepymfusepy provides Python bindings to libfuse 2…
permissive · top 15,000 on PyPI
fs.sshfsfs.sshfs provides a PyFilesystem2 interface to…
copyleft · top 15,000 on PyPI
morefsmorefs provides fsspec-based filesystem…
permissive · top 15,000 on PyPI
fsProvides a unified filesystem abstraction layer…
permissive · top 5,000 on PyPI
universal-pathlibUniversal Pathlib provides a pathlib.Path-like…
permissive · top 1,000 on PyPI
fsspecfsspec provides a unified filesystem interface…
unclear · top 100 on PyPI
dvc-objectsProvides filesystem and object-database…
permissive · top 5,000 on PyPI
pyfakefspyfakefs mocks the Python file system modules…
permissive · top 5,000 on PyPI
sshfsProvides an fsspec-compatible filesystem…
permissive · top 5,000 on PyPI