Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Simple Python VFS module

Project Description

PyVFS is a simple pure Python VFS library. It consists of several layers, allowing to use different low-level protocol implementations. Now you can choose between 9p (9p2000.u) and FUSE (you should have python-py9p or python-fuse installed).

The library has several options to control access to the filesystem, from FUSE restrictions to PKI client authentication in 9p2000 protocol. You can mount your FS with TCP/IP or UNIX sockets, or simply browse it with 9p clients without mounting.

The simplest example. Environment variables:

export PYVFS_PROTO=9p
export PYVFS_ADDRESS=/tmp/socket

Your script:

# import server
from pyvfs.utils import Server
# create it
srv = Server()
# start it in foreground

Client side, 9p + UNIX socket:

$ sudo mount -t 9p -o trans=unix /tmp/socket /mnt


ObjectFS (pyvfs.objectfs) is a library that allows you to export your Python objects on a dynamic filesystem. ObjectFS integration is extremely simple and engages only the decorator import and usage. The developer should not care about almost any of fs-related issues. Objects of the decorated classes will automatically appear as file trees on a dynamic filesystem with read/write access.

Example. Environment variables:

export PYVFS_PROTO=fuse

Your script:

# simply import the library in your code
from pyvfs.objectfs import export
# decorate a class
class MyClass(object):
    some code

Client side (already mounted!):

# ls -l ~/mnt


Also you can write your own applications with PyVFS. E.g., one can utilize file I/O as an RPC interface, or use a dynamic filesystem for runtime service configuration.

More details in the documentation and examples.


0.2.9 – Mesoarchean

  • unicode literals fixed

0.2.8 – Paleoarchean

  • directory listing fixes

0.2.7 – Eoarchaean

  • support authentication options
  • support setuid, setgid, sticky bits

0.2.6 – Hadean

  • initial pypi release

Release History

This version
History Node


History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(28.6 kB) Copy SHA256 Hash SHA256
Source None Jan 3, 2013

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers