Вы можете попробовать littletable . Это «бессхемная» оперативная «база данных», которая стирает грань между таблицами и списками. littletable не использует схему, он выводит столбцы запроса и объединения из атрибутов объектов, добавленных в данную таблицу. Все запросы и объединения возвращают результаты в виде новой таблицы (вместо введения искусственной коллекции ResultSet или QuerySet), что позволяет легко объединять различные запросы, объединения, объединения и фильтры. Поля могут быть легко проиндексированы и извлечены с помощью ключа индекса - если индекс является уникальным индексом, то возвращается один соответствующий объект или вызывается KeyError; если индекс не является уникальным, возвращается новая таблица объектов с данным ключом (которая может быть пустой). Таблицы также поддерживают многие атрибуты list-ish, такие как iter и len, и могут использоваться в качестве стандартной коллекции Python для циклов и выражений генератора.
littletable включает в себя универсальный класс DataObject, который очень похож на namedtuple. Но объекты любого типа могут быть вставлены в маленькую таблицу.
Вот пример / пример: http://littletable.svn.sourceforge.net/viewvc/littletable/trunk/littletable_demo.py?revision=32&content-type=text%2Fplain
Получить последнюю версию от SVN: https://littletable.svn.sourceforge.net/svnroot/littletable