summaryrefslogtreecommitdiffstats
path: root/python/python3-atomicwrites/README
diff options
context:
space:
mode:
Diffstat (limited to 'python/python3-atomicwrites/README')
-rw-r--r--python/python3-atomicwrites/README18
1 files changed, 18 insertions, 0 deletions
diff --git a/python/python3-atomicwrites/README b/python/python3-atomicwrites/README
new file mode 100644
index 0000000000..1af596d2be
--- /dev/null
+++ b/python/python3-atomicwrites/README
@@ -0,0 +1,18 @@
+It uses a temporary file in the same directory as the given path. This
+ensures that the temporary file resides on the same filesystem.
+
+The temporary file will then be atomically moved to the target
+location: On POSIX, it will use rename if files should be overwritten,
+otherwise a combination of link and unlink. On Windows, it uses
+MoveFileEx through stdlib's ctypes with the appropriate flags.
+
+Note that with link and unlink, there's a timewindow where the file
+might be available under two entries in the filesystem: The name of
+the temporary file, and the name of the target file.
+
+Also note that the permissions of the target file may change this
+way. In some situations a chmod can be issued without any concurrency
+problems, but since that is not always the case, this library
+doesn't do it by itself.
+
+This is the Python 3 build of atomicwrites.