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 details)

Uploaded Source

File details

Details for the file objectfs-0.2.9.tar.gz.

File metadata

  • Download URL: objectfs-0.2.9.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for objectfs-0.2.9.tar.gz
Algorithm Hash digest
SHA256 969a577e653dd45c3d224e893786b59fe091064ba3e14d93094561098a53b676
MD5 a2665fdc8f5834eacdba755776a5e895
BLAKE2b-256 bdb13439281a92ce17e2f932500692afab22cf284de72b030b369f83598df91b

See more details on using hashes here.

Supported by

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