Just stores some data identifying packages in a SQLite DB and paths of their files in a prefix tree. Allows you to get a package by a file.
See tests/tests.py for the examples.
Python >=3.4.Python 2is dead, stop raping its corpse. Use2to3with manual postprocessing to migrate incompatible code to3. It shouldn't take so much time. For unit-testing you need Python 3.6+ or PyPy3 because theirdictis ordered and deterministic. Python 3 is also semi-dead, 3.7 is the last minor release in 3.datriefor a prefix tree.