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, dict and nparray
  • Management of the availability of shared memory space
  • Overloaded methods for list and dict
  • Semaphore

Future improvement

  • Timeout for Semaphore
  • 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", client=True)

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", client=False)

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.3.1.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

SharedMemory-1.3.1-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: SharedMemory-1.3.1.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for SharedMemory-1.3.1.tar.gz
Algorithm Hash digest
SHA256 674231efb8fa63d032a6751416faf540122971fd67c2b571dc1c81a744c464d2
MD5 4cf41e36a5c98ebceb58278d9ad18030
BLAKE2b-256 addf533d36e7a7765667d69ded680f053d1e10a8df15877bcb1af040ef4e0ca2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: SharedMemory-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for SharedMemory-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c60119445939a8b1b1cc722a3c6c22306bd48360142d9f664928b6cb2a9f00e9
MD5 d61f4bbb5c29361d846ade2258978598
BLAKE2b-256 fd46ae332e2dfd56fb8b75906b1a3c4048ee62fb5a8c902bd68831bbbb2a0b08

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