Metaclass Singleton Pattern (supports Multi-thread).
Project description
Description
Singleton is a creational design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance. This implementation of Singleton Design Pattern is based on metaclass method.
Multithreaded
This method provide proper handling for multi-thread environment by closing public threading lock while creating instance of Singleton subclass.
Installation
Just use (No other package is needed):
$ pip install pattern-singleton
Example Usage
from pattern_singleton import Singleton
class Example(metaclass=Singleton):
def __init__(self):
self.variable = 1
if __name__ == '__main__':
example_01 = Example()
example_02 = Example()
print(example_01.variable) # displays 1
print(example_02.variable) # displays 1
example_01.variable = 2 # changes value for every instance of Example class
print(example_01.variable) # displays 2
print(example_02.variable) # displays 2
Credits
This package was created by Marcin Mysliwiec with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
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
File details
Details for the file pattern_singleton-1.2.0.tar.gz
.
File metadata
- Download URL: pattern_singleton-1.2.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3ee5b5885fd0ac0dbfc16abda31e36e10e180797c44fcb32c7b8347a227d75c |
|
MD5 | 41d20e8ac8de1f755bb017a7428cf7c4 |
|
BLAKE2b-256 | 5c521531bd435ddba56d996a5c706184ef93eecfc6318ef0a069a9ecf5ef1b73 |