provides atomic and durable writes on a posix file system.
Project description
posixfs
posixfs provides context managers and functions to manipulate files on a POSIX file system with atomicity and durability. The module is intended to be simple and straightforward to use.
The module is written in Python 3 with types annotated and using pathlib.Path.
Usage
import pathlib import posixfs # write bytes to a file atomically and durably pth = pathlib.Path("/some/file.txt") posixfs.atomic_write_bytes(path=pth, data=b"hello", durable=True) # write text to a file atomically and durably posixfs.atomic_write_bytes(path=pth, text="hello", durable=True) # use context manager with posixfs.AtomicWritingText(path=pth, durable=True) as file: file.write('hello\n') file.write('how do you do?\n')
Installation
- Create a virtual environment:
python3 -m venv venv3
- Activate it:
source venv3/bin/activate
- Install posixfs with pip:
pip3 install posixfs
Development
- Check out the repository.
- In the repository root, create the virtual environment:
python3 -m venv venv3
- Activate the virtual environment:
source venv3/bin/activate
- Install the development dependencies:
pip3 install -e .[dev]
- We use tox for testing and packaging the distribution. Assuming that the virtual environment has been activated and the development dependencies have been installed, run:
tox
- We also provide a set of pre-commit checks that lint and check code for formatting. Run them locally from an activated virtual environment with development dependencies:
./precommit.py
- The pre-commit script can also automatically format the code:
./precommit.py --overwrite
Versioning
We follow Semantic Versioning. The version X.Y.Z indicates:
- X is the major version (backward-incompatible),
- Y is the minor version (backward-compatible), and
- Z is the patch version (backward-compatible bug fix).
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
posixfs-1.0.1.tar.gz
(4.2 kB
view hashes)