Python Object Instance Management
It is sometimes necessary to manage the instances that are used through a project. Often this is done using a singleton pattern that only allows a single instance to exist. However, sometimes it's desireable to be able to have multiple instances that can be easily distinguished and ensure that the same instance can be reliably accessed at the appropriate times.
This is where PyInstance comes in. PyInstance applies a modified singleton design pattern where each singleton instance is identifiable by the session name. Each session is reference counted with the deletion of the last instance clearing out the entire record. The only caveat is that the session name is the first parameter to the object's __init__
method.