Skip to main content

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
srv.run()

Client side, 9p + UNIX socket:

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

ObjectFS

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
export PYVFS_MOUNTPOINT=~/mnt

Your script:

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

Client side (already mounted!):

# ls -l ~/mnt

PyVFS

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.

Changes

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

Project details


Download files

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

Source Distribution

objectfs-0.2.9.tar.gz (28.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page