{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/3"}],"enrichment":{"capability":"Provides a context manager for writing files atomically\u2014writing to a temporary file first, then moving it to the target location in a single operation to prevent partial or corrupted writes.","skillfed_tags":["file-io","abandoned"],"use_cases":["Writing configuration files or state that must not be left in a partial or corrupted state if the process crashes or is interrupted.","Coordinating file updates across multiple processes or threads where a partially-written file could cause readers to fail or see inconsistent data.","Ensuring database-like durability for single-file data stores or caches that require atomic all-or-nothing semantics.","Cross-platform applications that need consistent atomic-write behavior on both POSIX and Windows without platform-specific code."],"what_it_does":"Atomicwrites provides a simple context manager that ensures file writes complete fully or not at all, preventing corruption from interrupted writes or concurrent access. It works by writing to a temporary file in the same directory, then atomically moving it to the target location using platform-specific operations: rename on POSIX systems (with optional link-and-unlink for non-overwrite cases), and MoveFileEx on Windows via ctypes. The library includes fsync calls to flush both file content and directory metadata on POSIX systems, and _commit on Windows, though it does not guarantee protection against disk-level buffering.\n\nThe package has no runtime dependencies and supports Python 2.7 and 3.4 through 3.8 according to its classifiers. It is designed to be a lightweight, cross-platform alternative to manual temp-file-and-rename patterns, with a high-level API wrapping a flexible class-based interface. However, the project is abandoned and has not been updated since July 2022, meaning new Python versions, security issues, and platform changes will not be addressed.","worth_installing":"No. The package is abandoned (last updated July 2022, repository archived) and will not receive security patches or compatibility fixes for modern Python versions. While the core functionality is simple and has no dependencies, the lack of maintenance makes it unsuitable for new projects. Consider using a maintained alternative or implementing atomic writes directly with tempfile and os.replace, which is available in the standard library."},"id":"atomicwrites","links":{"html":"https://skillfed.io/packages/atomicwrites","md":"https://skillfed.io/packages/atomicwrites.md","pypi":"https://pypi.org/project/atomicwrites/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2022-07-08","license_spdx":null,"license_treatment":"permissive","name":"atomicwrites","python_support":"unspecified","summary":"Atomic file writes."},"popularity":{"monthly_downloads":4753299,"position":2240,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.4.1"}
