atomos
Atomic primitives for Python.
Decision gist · record as of 2026-08-14
No. The package is abandoned (no releases or commits since 2015) and targets Python 2.7 and 3.3–3.4. While it has no known vulnerabilities and a permissive license, its compatibility with modern Python versions is unverified and unmaintained. For new projects requiring thread-safe primitives, consider actively maintained alternatives or Python's built-in threading and queue modules.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Package targets Python 2.7, 3.3, and 3.4; compatibility with later Python versions is unverified.
- High install friction: the package is abandoned (last commit 2021-04-29, no releases since 2015-07-05) and has not been updated in many years.
- While it carries no known vulnerabilities and has no runtime dependencies, the stalled maintenance status means bug fixes and compatibility updates are unlikely.
License · maintenance · safety
BSD (permissive) — BSD license (permissive) places no restrictions on use, modification, or distribution in your own projects.
last release 2015-07-05 (4058 days) · last repo commit 2021-04-29 · 123 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 118,687 downloads/mo, #12,107 on PyPI
Alternatives
Verify before relying
pip install atomos
import atomos.atom as atom
state = atom.Atom({'count': 0})
state.swap(lambda s: {**s, 'count': s['count'] + 1})- Whether atomos works correctly with Python versions released after 2015
- Whether the compare-and-set implementation remains performant or correct on modern CPython
- Whether multiprocessing support (mentioned in docs) is fully functional and tested
What it is and what it does
Atomos is a library of atomic primitives inspired by Java's concurrent.atomic package and Clojure's atoms. It wraps primitive types (int, float, bool) and arbitrary objects in thread-safe containers that handle locking semantics internally, allowing developers to safely share mutable state across threads without manually orchestrating locks.
The library's core concept is the Atom, which uses compare-and-set semantics to ensure that updates to shared state are atomic and consistent. Instead of calling swap() with a function that receives the current state and returns an updated one, developers can write cleaner concurrent code. Atomos also provides lower-level atomic primitives like AtomicInteger and AtomicReference for simpler use cases, and supports multiprocessing via a separate import path.
Use it for
- Building thread-safe counters or accumulators in multi-threaded applications without explicit lock calls
- Managing shared application state (e.g., connected clients, session counts) in concurrent servers
- Protecting updates to complex objects in multi-threaded contexts using AtomicReference wrappers
- Porting concurrent patterns from Java or Clojure that rely on atomic types to Python
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
The package is abandoned (no releases or commits since 2015) and targets Python 2.7 and 3.3–3.4. While it has no known vulnerabilities and a permissive license, its compatibility with modern Python versions is unverified and unmaintained. For new projects requiring thread-safe primitives, consider actively maintained alternatives or Python's built-in threading and queue modules.
Install
atomos on PyPI
Before you install
High install friction: the package is abandoned (last commit 2021-04-29, no releases since 2015-07-05) and has not been updated in many years. While it carries no known vulnerabilities and has no runtime dependencies, the stalled maintenance status means bug fixes and compatibility updates are unlikely.
Package targets Python 2.7, 3.3, and 3.4; compatibility with later Python versions is unverified.
License in practice
BSD license (permissive) places no restrictions on use, modification, or distribution in your own projects.
Quickstart
pip install atomos
import atomos.atom as atom
state = atom.Atom({'count': 0})
state.swap(lambda s: {**s, 'count': s['count'] + 1})
Verify before relying
- Whether atomos works correctly with Python versions released after 2015
- Whether the compare-and-set implementation remains performant or correct on modern CPython
- Whether multiprocessing support (mentioned in docs) is fully functional and tested
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 4,058 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 118,687 / month, #12,107 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Topic :: Utilities |
Evidence: atomos-0.3.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “atomic primitives python”
- atomosAtomos provides thread-safe atomic primitives (integers, floats,…
- atomic_dictAtomic-Dict provides a lock-free, shared 64-bit integer key-value map…
- aiologicaiologic provides thread-aware and async-aware locking and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also atomic_dict · oslo.concurrency · fifolock · fasteners · filelock · aiologic · python-dynamodb-lock · lockfile · flufl.lock · PyMySQLLock