friendlydb это быстрый и небольшой следующее / последователи база данных, написанная в Python & NBSP;. Он может использоваться либо непосредственно из вашего кода Python или по HTTP с небольшим веб-API.
FriendlyDB не означало быть полноправным пользователем системы; он должен быть использован, чтобы увеличить существующую систему для отслеживания отношения.
Использование
Использование FriendlyDB из Python выглядит следующим образом:
от friendlydb.db импорта FriendlyDB
# Дайте дружественных каталог для работы.
FDB = FriendlyDB ('/ USR / данных / дружелюбный ")
# Grab пользователя по имени пользователя.
Даниэль = FDB ['Даниэль']
# Следуйте пару пользователи.
daniel.follow ("Алиса")
daniel.follow ('Bob')
daniel.follow ("Джо")
# Проверьте следующее.
daniel.following ()
# Возвращает:
# [
# 'Алиса',
# 'Bob',
# 'Джо',
#]
# Проверка последователей Джо.
FDB ['Джо']. последователей ()
# Возвращает:
# [
# 'Даниэль,
#]
# Отписаться.
daniel.unfollow ('Bob')
# Проверьте следующее.
daniel.following ()
# Возвращает:
# [
# 'Алиса',
# 'Джо',
#]
# Пыль и Nuke все с орбиты.
fdb.clear ()
Использование FriendlyDB от HTTP выглядит (все конечные косые черты являются обязательными):
# В одной оболочки, запустить сервер.
питон friendlydb / server.py
# С другой, запустить несколько URL-адресов.
локон -X GET http://127.0.0.1:8008/
# {"Версия": "0.3.0"}
локон -X GET http://127.0.0.1:8008/daniel/
# {"Имя пользователя": "Даниэль", "следующая": [], "последователи": []}
свернуться -X POST http://127.0.0.1:8008/daniel/follow/alice/
# {"Имя пользователя": "Даниэль", "other_username": "Алиса", "последовал": правда}
свернуться -X POST http://127.0.0.1:8008/daniel/follow/bob/
# {"Имя пользователя": "Даниэль", "other_username": "Боб", "последовал": правда}
свернуться -X POST http://127.0.0.1:8008/daniel/follow/joe/
# {"Имя пользователя": "Даниэль", "other_username": "Джо", "последовал": правда}
свернуться -X POST http://127.0.0.1:8008/daniel/unfollow/joe/
# {"Имя пользователя": "Даниэль", "other_username": "Джо", "unfollowed": правда}
локон -X GET http://127.0.0.1:8008/daniel/
# {"Имя пользователя": "Даниэль", "следующая": ["Алиса", "Боб"], "последователи": []}
локон -X GET http://127.0.0.1:8008/daniel/is_following/alice/
# {"Имя пользователя": "Даниэль", "other_username": "Алиса", "is_following": правда}
локон -X GET http://127.0.0.1:8008/alice/is_followed_by/daniel/
# {"Имя пользователя": "Алиса", "other_username": "Даниэль", "is_followed_by": правда}
локон -X GET http://127.0.0.1:8008/alice/is_followed_by/joe/
# {"Имя пользователя": "Алиса", "other_username": "Джо", "is_followed_by" ложь}
Установка
Использование PIP, вы можете установить его с пип установить friendlydb.
Производительность
Вы можете сферы из производительности FriendlyDB в для себя, выполнив прилагаемый скрипт benchmark.py.
В тестах на 2011 MacBook Pro (i7), тест показал, сценарий:
- Создано 1000000 отношения между 10000 пользователей: 7.3 минут
- AVG время, чтобы принести последователям пользователя: 0,0008 секунд
- Никогда не превышает 40Mb ОЗУ RSS
ходовых испытаний
friendlydb поддерживается с прохождением тестов на все времена. Просто запустите:
питон -m испытания unittest2
Требования
- Python
- (Необязательно) gevent для сервера HTTP
- (Необязательно) unittest2 для запуска тестов
Комментарии не найдены