Skip to main content

filevault: manage a tree of directories and files

Project description


filevault is a class for managing a tree of files on the filesystem.

A Vault will:

  • Create a directory tree of custom depth
  • Spreads files out which keeps CLI snappy when traversing the tree
  • Scale to hundreds of thousands of files
  • Obfuscate directory paths and filenames

how to install


easy_install filevault


pip install filevault

how to use

How to create a default Vault object:

from filevault import Vault

v = Vault()

You may (and should) customize the Vault instance. Here are the arguments:

Where should the tree be created? Defaults to ‘vault’ in pwd.
How deep should the tree span? Defaults to 3 directories deep.
Add a custom salt for a unique and more secure tree, defaults to ‘changeme’

Another custom example:

from filevault import Vault

v = Vault( vaultpath="/tmp/for-test", depth=2, salt="sugar" )

Now that we have a Vault object named v, we may review its two methods:

create_filename( seed, ext=’’ )
Create a valid vault filename seeded with input. Optional extension.
create_random_filename( ext=’’ )
Create a valid vault filename seeded with random input. Optional extension.

Here is a full example:

# import Vault class
from filevault import Vault

# create vault object named v, with custom path, depth, and salt
v = Vault( vaultpath="/tmp/for-test", depth=2, salt="sugar" )

# print a valid vault filename with extension
print v.create_filename( "my-first-file", ".png" )

# result:
# 3/9/3993817d4f9b3867c6db29b23c9d2ff9bb8a87d89426002adbb6ed34289d9e32.png

print v.create_filename( "my-first-file", ".png" )

# Same result:
# 3/9/3993817d4f9b3867c6db29b23c9d2ff9bb8a87d89426002adbb6ed34289d9e32.png

# print a random valid vault filename without extension

# result:
# 6/1/6169d6ee0ac0bc63ab667fb94d9cc747df0c03596ac43e24a51b3517d74bdc42

how can I thank you?

Check out my webpage to screenshot service and give me some feedback, tips, or advice. Every little bit of help counts.

Project details

Release history Release notifications

History Node


History Node


This version
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
filevault-0.1.0-py2.7.egg (3.6 kB) Copy SHA256 hash SHA256 Egg 2.7 Jan 15, 2013
filevault-0.1.0.tar.gz (2.6 kB) Copy SHA256 hash SHA256 Source None Jan 15, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page