Performs transactional modification on directory trees
Project description
fstrans - Python module for filesystem transactions
Description
This module allows to manipulate some directory tree in safe way, making sure that in case of error tree would left intact, and no other process such as webserver would access partially modified tree (although you can use external programs from your script to work with tree)
It also serializes write tree access - if one program starts transaction with some directory, other one, if started, would wait for some time for it to complete.
Module is Unix-only. It heavily relies on hard links to quickly make copies of big trees.
As working tree is populated with symlinks from final tree, user should make sure that file is different in local copy before modifying it.
For this module provides following methods:
- open - works just like builtin function open, but makes sure that original file would not be clobbered before commit.
- putfile - safely replaces file in tree with other file
- clonefile, clonetree - make exact copy of original file with link count = 1.
Installation
You can install released version with pip3 install fstrans
.
If you prefer cutting age software, recommended way is
python3 setup.py sdist
pip3 install ./dist/fstrans-1.0.tar.gz
Of course, you can install system-wide build your OS packages and so on. But if you are planning to do so, you probably don't need special instructions.
Testing
There is unittest-based test suite in the test directory.
Run
python3 setup.py test
to run test suite.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fstrans-1.0.1.tar.gz
.
File metadata
- Download URL: fstrans-1.0.1.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fc664dd583db403cb0150aa7f928b481e1e26214d373caca68fc3dcdfa7f170 |
|
MD5 | a0ac622aaddbdb27808c54eba2a169ba |
|
BLAKE2b-256 | a981186945eb92a341fd772ab1b644d5b2a77ab50431f3411d22b3f6302d6fbe |
File details
Details for the file fstrans-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: fstrans-1.0.1-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e3ccfdcdbdbad624267e0236fb6c331929abf484fde1ad19f2f9fe290e2b3fb |
|
MD5 | 553a120e71a3e224249798a3601a87d8 |
|
BLAKE2b-256 | 39ef7b936a2cd88877d614131acc99ec9cf6a191abb014fc31182bfa7fd1b675 |