fusepy
Simple ctypes bindings for FUSE
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- FUSE 2.6 or later must be installed on the system; fusepy is a ctypes wrapper and does not bundle FUSE itself.
- 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.
License · maintenance · safety
ISC (permissive) — ISC is a permissive license, so you can use fusepy freely in commercial and private projects with minimal restrictions.
last release 2018-09-17 (2888 days) · last repo commit 2023-12-23 · 821 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 356,186 downloads/mo, #7,283 on PyPI
Alternatives
Verify before relying
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)- 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
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 on it.
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
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.
FUSE 2.6 or later must be installed on the system; fusepy is a ctypes wrapper and does not bundle FUSE itself.
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)
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 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: ISC License (ISCL)Operating System :: MacOSOperating System :: POSIXOperating System :: UnixProgramming Language :: Python :: 2.6Programming Language :: Python :: 3Topic :: System :: Filesystems |
Evidence: fusepy-3.0.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “FUSE Python bindings”
- fusepyfusepy provides Python bindings to FUSE (Filesystem in Userspace),…
- mfusepymfusepy provides Python bindings to libfuse 2 and 3, enabling you to…
- itk-registrationitk-registration provides Python bindings for ITK's image…
Give your agent the search over MCP, or paste the wish link into any chat.
More Filesystems packages
Watches file system changes and triggers callbacks or process restarts when files are modified, with both synchronous and asynchronous APIs.
Install it if you need file system monitoring for development or production workflows.
Watchdog monitors file system events across Linux, macOS, Windows, and BSD, providing a Python API and command-line utilities to detect file and directory changes in real time.
Install it if you need to monitor file system events; the medium install friction is a one-time cost for reliable, platform-native behavior.
Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.
Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.
Infers file type and MIME type by examining magic number signatures in files or byte buffers, with no external dependencies.
However, the last release was 2022-11-02 with no recent commits, so it may not support the newest file formats or receive bug fixes promptly.
Sanitize and validate filenames and file paths by removing or replacing invalid characters, reserved names, and unprintable characters across multiple platforms (Linux, Windows, macOS, POSIX, and universal).
Install it if you need reliable filename or path validation across platforms; the low friction and clear API make it a straightforward addition to any project…
Provides object-oriented filesystem path handling as a backport for Python versions before 3.4, when pathlib became part of the standard library.
See also mfusepy · fs.sshfs · pyxattr · morefs · fs · universal-pathlib · fsspec · dvc-objects · pyfakefs · sshfs