Skip to main content

SharedMemory

Project description

SharedMemory

Python shared memory library based an posix-ipc.

Features

  • Shared type:
    • Basic type (int, float, bool, str)
    • list, tuple and dict
  • Management of the availability of shared memory space
  • Overloaded methods for list and dict

Future improvement

  • Mutex
  • Timeout for Mutex
  • Adding nparray support
  • Adding more tests

Example

Example of execution in two instances of ipython.

Client side

In [1]: from SharedMemory import SharedMemory

In [2]: # Creating client instance with a shared space named 'shared_space' with a size of 10
   ...: C = SharedMemory(name="shared_space", value="Hello", exist=False)

In [4]: C.getAvailability()
Out[4]: True

In [5]: C.getValue()
Out[5]: 'Hello'

In [6]: # Waiting for Server to update shared data

In [7]: C.getValue()
Out[7]: 'World'

In [8]: C.setValue('HW')
Out[8]: True

In [9]: C.getValue()
Out[9]: 'HW'

In [10]: # Closing the client side
    ...: C.close()

In [11]: C.getAvailability()
Out[11]: False

Server side

In [1]: from SharedMemory import SharedMemory

In [2]: # Creating server instance access to the shared named 'shared_space'
   ...: S = SharedMemory(name="shared_space", exist=True)

In [4]: S.getAvailability()
Out[4]: True

In [5]: S.getValue()
Out[5]: 'Hello'

In [6]: S.setValue("World")
Out[6]: True

In [7]: S.getValue()
Out[7]: 'Hello'

In [8]: # Waiting for Client to update shared data

In [9]: S.getValue()
Out[9]: 'HW'

In [10]: # Waiting Client to close the shared space

In [11]: S.getAvailability()
Out[11]: False


In [12]: # Closing the server side
    ...: S.close()
INFO: Client already stopped.

More

PyPI version Python package Upload Python Package Python License: GPL v3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SharedMemory-1.0.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

SharedMemory-1.0.0-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file SharedMemory-1.0.0.tar.gz.

File metadata

  • Download URL: SharedMemory-1.0.0.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for SharedMemory-1.0.0.tar.gz
Algorithm Hash digest
SHA256 695568698e5f9ccd1fab1072b030ac6c18a34c4dc0a58a4ae50e8734e8f66633
MD5 34d7dd554cfb5ccfb6ef59100e4a5c99
BLAKE2b-256 e0261dfe50e8da0860c309301c04a70da72ac47b3bcda8a93214f83f4483a8e9

See more details on using hashes here.

File details

Details for the file SharedMemory-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: SharedMemory-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for SharedMemory-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46f86d44d56cb58fb39799e90305024b70f1b810d6c72e3d59947f22bd95092b
MD5 b2ac1b777beb871e96c6dfadcf538fec
BLAKE2b-256 64e75ca18b22944649de16afe6c4e4367cc659c5e406ff505fbe5b60f8a5af8d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page