{"categories":[{"label":"Distributed Computing","url":"https://skillfed.io/packages/category/system-distributed-computing/2"}],"enrichment":{"capability":"Atomic-Dict provides a lock-free, shared 64-bit integer key-value map for multiprocess synchronization using atomic operations like compare-and-swap, exchange, and increment.","skillfed_tags":["lock-free","multiprocessing","synchronization-primitive"],"use_cases":["Coordinate counters across worker processes in a multiprocessing pool without locks or synchronization overhead.","Implement lock-free work-stealing or load-balancing primitives where processes update shared state atomically.","Build inter-process synchronization for real-time systems where latency and cache locality matter more than feature richness.","Share and update indexed references to complex objects across processes by using the dictionary as a pointer map.","Implement fast, contention-free metrics or telemetry collection in parallel workloads."],"what_it_does":"Atomic-Dict is a specialized synchronization primitive for multiprocess Python programs that need to share and atomically update 64-bit integer values across process boundaries. It implements a fixed-size Map[Int, Int] with lock-free operations\u2014no mutexes, no waits\u2014using cache-local memory layout for speed. The library is deliberately minimal: keys and values are 64-bit integers only, keys cannot be deleted once allocated, and the dictionary size is fixed at creation. It is not a general-purpose dictionary but rather a building block for inter-process coordination in performance-critical code.\n\nThe package supports atomic operations including compare-and-swap, exchange, increment, decrement, bitwise OR/XOR/AND, and swap. To work with complex types, you pre-allocate a shared list before forking and use list indices as keys and values. The design trades flexibility for speed and simplicity\u2014operations never block, making it suitable for tight loops in worker processes that need to coordinate counters, flags, or indices without contention.","worth_installing":"Yes, if you need lock-free inter-process integer coordination in Python and accept the constraints: fork-based multiprocessing, fixed-size dictionary, 64-bit integers only, and manylinux_2_28 x86_64 platform dependency. The dormant maintenance status and zero community stars suggest limited adoption; verify it fits your exact use case before committing. Not suitable for general-purpose shared data structures or non-fork multiprocessing contexts."},"id":"atomic-dict","links":{"html":"https://skillfed.io/packages/atomic-dict","md":"https://skillfed.io/packages/atomic-dict.md","pypi":"https://pypi.org/project/atomic-dict/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-08-17","license_spdx":null,"license_treatment":"permissive","name":"atomic_dict","python_support":"supports_current","summary":"A library for lock-free shared 64-bit dictionaries"},"popularity":{"monthly_downloads":266027,"position":8310,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.5.0"}
