It is a cache where the nodes can be evicted by least recently used and time to live logic. The time to live is a counter not a time.
It is suggested to use any version 3.x
There are unit tests covering the code. They cover the expectations on data, logic and threading locking. To verify the unit tests, just run in the terminal the command
python3 -m unittest discover -p "*_test.py"
or execute the main_test.py.

