Skip to main content

SharedMemory encapsulation

Project description

SharedMemory

Encapsulation of the python shared_memory library.

Features

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

Future improvement

  • Adding more tests

Example

Example of execution in two instances of ipython.

Client side

In [1]: from SharedMemory import Client

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

In [3]: C.getStatus()
Out[3]: 'Started'

In [4]: C.getAvailability() # First boolean: Client Availability, Second boolean: Server Availability
Out[4]: (True, 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.updateValue('HW')

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

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

Server side

In [1]: from SharedMemory import Server

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

In [3]: S.getStatus()
Out[3]: 'Connected'

In [4]: S.getAvailability() # First boolean: Server Availability, Second boolean: Client Availability
Out[4]: (True, True)

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

In [6]: S.updateValue("World")

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]: # Closing the server side
    ...: S.stop()

More

PyPI version Python package Upload Python Package Python 3.8 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-0.5.0.dev0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

SharedMemory-0.5.0.dev0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file SharedMemory-0.5.0.dev0.tar.gz.

File metadata

  • Download URL: SharedMemory-0.5.0.dev0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for SharedMemory-0.5.0.dev0.tar.gz
Algorithm Hash digest
SHA256 31f9e0eaf96baf0eecccbb57a7555603d29bf15229fa2980de86b4170f60f6ed
MD5 bc0e28b7ed0acf6963eb2aba5e28aa70
BLAKE2b-256 661b6962d310171840addd68bed70231186b1f67e8cdd9545d7358abd154fbe4

See more details on using hashes here.

File details

Details for the file SharedMemory-0.5.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: SharedMemory-0.5.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for SharedMemory-0.5.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e9fe9f14bfa514f565a0fa48de18ca443ec4ca2b782158b1d41d20a9fd90f48
MD5 2a3c5e3122651b57117bd5517babb705
BLAKE2b-256 e32dbbfb791a418ca9873bac40fc3be45c12a26a71f20a6471e5b9c5fe0ff1f6

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