poppy.core.generic.metaclasses module

class poppy.core.generic.metaclasses.Singleton[source]

Bases: type

A metaclass to create singletons, i.e classes that can have at most only one instance created at a given time.

class poppy.core.generic.metaclasses.SingletonManager(name, bases, attr, manager=<class 'poppy.core.generic.manager.Manager'>, after_creation=<function ManagerMeta.<lambda>>)[source]

Bases: poppy.core.generic.metaclasses.ManagerMeta

Metaclass to manage instances created with a given name as singletons.

class poppy.core.generic.metaclasses.ManagerMeta(name, bases, attr, manager=<class 'poppy.core.generic.manager.Manager'>, after_creation=<function ManagerMeta.<lambda>>)[source]

Bases: type

A metaclass to allow simple managing of instances.