semvec/pypi-packages huggingface dataset:
atomicity 0.0.3
Atomicity is a simple library to provide atomic operation to python's synchronization primitives for multi-threading
Requires Python: >=3.8, <3.11

# atomicity

[![PyPI version](https://badge.fury.io/py/atomicity.svg)](https://badge.fury.io/py/atomicity)

Atomicity is a simple library that provides atomic operation to python's synchronization primitives used in multi-threading application.

*** Note: This is at a very early stage and is subject to changes.  Use at your own risk. ***

It includes an atomic lock and counter class, ensuring (somewhat) thread-safety and prevention of race conditions in concurrent programming. 
Everything is entirely lock-free and is backed by Rust's atomic types.


## Features
TBD

## Installation

Binary wheels are provided for Python 3.8 and above on Linux, macOS, and Windows:

```bash
pip install atomicity
```

On Windows systems, The [LLVM Compiler Infrastructure](https://llvm.org/) is required


## Usage

See the [documentation](DOCS.md) for more information. Here's a quick overview:

### Atomic Counter

```python
from atomicity import AtomicCounter

# Create an atomic integer with an initial value of 0
atom = AtomicCounter()

# Perform atomic operations
atom.set(10)
value = atom.get()
print(f"Value: {value}")

previous_value = atom.add( 20)
print(f"Previous Value: {previous_value}")

atom.sub(5)
print(f"Result after addition: {atom}")

# Increment and decrement operations
atom.increment()
atom.decrement()
```

### Atomic Lock

```python
from atomicity import AtomicLock

# Create an atomic boolean with an initial value of False
atom = AtomicLock( False)

# Perform atomic operations
atom.store(True)
value = atom.acquire()
previous_value = atom.release()
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Acknowledgments

- The `atomicity` library is heavily dependent on and inspired by the Rust `std::sync::atomic` module.
heist-salt 7.0.1
Vertical app-merge components for salt into heist
Requires Python: >=3.9

==========
heist-salt
==========

.. image:: https://img.shields.io/badge/made%20with-pop-teal
   :alt: Made with pop, a Python implementation of Plugin Oriented Programming
   :target: https://pop.readthedocs.io/

.. image:: https://img.shields.io/badge/made%20with-heist-teal
   :alt: Made with heist, a POP plugin to create network tunnels for distributing and managing agents
   :target: https://heist.readthedocs.io/

.. image:: https://img.shields.io/badge/made%20with-python-yellow
   :alt: Made with Python
   :target: https://www.python.org/

About
=====

The whole point of Heist is to make deployment and management
of Salt easy!

Before you start please be advised that a more detailed quickstart is
available in the docs for `heist-salt <https://heist-salt.readthedocs.io/en/latest/>`__.

What is POP?
------------

This project is built with `pop <https://pop.readthedocs.io/>`__, a Python-based
implementation of *Plugin Oriented Programming (POP)*. POP seeks to bring
together concepts and wisdom from the history of computing in new ways to solve
modern computing problems.

For more information:

* `Intro to Plugin Oriented Programming (POP) <https://pop-book.readthedocs.io/en/latest/>`__
* `pop-awesome <https://gitlab.com/saltstack/pop/pop-awesome>`__
* `pop-create <https://gitlab.com/saltstack/pop/pop-create/>`__

What is Heist?
--------------

This project is built with `Heist <https://heist.readthedocs.io>`__, a POP
plugin that creates network tunnels for distributing and managing agents. While
it has been originally built to deploy and manage Salt (``heist-salt``),
it can be used to distribute and manage other agents or plugins if extended to
do so.

Please see the Heist-Salt `getting started <https://heist-salt.readthedocs.io/en/latest/topics/heist-salt/getting-started.html>`__
to get quickly started with Heist-Salt.