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

Uploaded Source

Built Distribution

SharedMemory-1.1.2-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for SharedMemory-1.1.2.tar.gz
Algorithm Hash digest
SHA256 5ff1e970d3c43d0582473b90af7759d5b555a4b458324a04f5fd712ad4610d6c
MD5 556fa6a415ba346b4714ba4c9c83186e
BLAKE2b-256 9057aee2d93ed2c7b572aa41d4b5d0bc4af3d36e230a3581f659c7a71c1db99f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for SharedMemory-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8105f306fb5dcbf19f4efb91eab5fb38fa1f951a57a196526ba8206cf7a5ce69
MD5 ef7e7caf504add67a8a49665d28cffda
BLAKE2b-256 1cee171f571a55afd8c02b78c4cc7bf0400fb3f408cb0211645926c8427c4074

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