"""
Singleton decorator definition
from functools import wraps
def Singleton(cls):
Decorator implementing the singleton pattern:
it restricts the instantiation of a class to one "single" instance.
instances = {}
# https://github.com/sphinx-doc/sphinx/issues/3783
@wraps(cls)
def getinstance():
"""Find an instance or save newly created one"""
if cls not in instances:
instances[cls] = cls()
return instances[cls]
return getinstance