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.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.8.tar.gz (28.6 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for objectfs-0.2.8.tar.gz
Algorithm Hash digest
SHA256 0fa531dc9d8be724351e15cd5941f51fe2813a4f9f1d0b6eb9e93cb6356751e3
MD5 ff608ce8149b3846bceb92e5b0b6f324
BLAKE2b-256 f0b02db939ba7e284b0867dd2514c9d748d8ed93e4654e197e46fed12ab6f8bb

See more details on using hashes here.

Supported by

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