Metadata-Version: 2.4
Name: flockfile
Version: 0.1.3
Summary: A simple lock file class based on file locking.
Home-page: https://gitlab.com/rveach/flockfile
Author: Ryan Veach
Author-email: rveach@gmail.com
License: MIT
Project-URL: Source, https://gitlab.com/rveach/flockfile
Project-URL: Tracker, https://gitlab.com/rveach/flockfile/issues
Keywords: Lock,Flock
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=2.7
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-python
Dynamic: summary

# flockfile

Just a simple python lock file class using file locks.

## Installation

```bash
pip install flockfile
```

## Usage

```python
from flockfile import FlockFile, FileNotLocked

# init the class using a file name
# optionally, the directory can be set to something other than /tmp
lock = FlockFile("myscriptname", lock_dir="/tmp")


# lock the file
lock.lock()
# if this is unsuccessful, exception FileNotLocked will be raised.

# the following class method can be used to check lock status
assert lock.check_lock()

# unlock and delete file
lock.unlock()
```

`FlockFile` can also be used as a context manager. The lock is acquired on entry
(raising `FileNotLocked` if it cannot be obtained) and released on exit:

```python
from flockfile import FlockFile

with FlockFile("myscriptname", lock_dir="/tmp"):
    # the lock is held here
    ...
# the lock is released and the file deleted here
```

## Questions or Issues?

Please report as a Gitlab issue: https://gitlab.com/rveach/flockfile/issues
