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
  • Semaphore

Future improvement

  • Timeout for Semaphore
  • 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", 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.2.0.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

SharedMemory-1.2.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for SharedMemory-1.2.0.tar.gz
Algorithm Hash digest
SHA256 dbdcbe560b4764762157a35fe6d2b0b1267e2b108e654455d5811a014b8d4b3b
MD5 2072b6dd77f2267e5cf0b33a9e8c7374
BLAKE2b-256 4ffeea4c71fd4a0c0eba1b733234684dcc619581c1b4b3c58fe82a37a21aa40c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for SharedMemory-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 372100e81b21cbf62cf5faaad96b508e14e08dc7fe61da9d3514d47fd0c708c9
MD5 3980c752f2301a6f88e40fd524ae7568
BLAKE2b-256 45f89e191c97bbfeb0066a8de88e38feb94041b92a74ac87908dfda60825f6f8

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