Metaclass Singleton Pattern (supports Multi-thread).
Project description
Pattern Singleton
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.
History
1.1.0
Multi thread support
1.0.1
Documentation refactor
1.0.0
Release pattern-singleton
0.1.0
Refactor patternSingleton to pattern_singleton
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.