friendlydb är en snabb och litet följande / anhängare databas skriven i Python. & Nbsp; Den kan antingen användas direkt från din Python-kod eller över HTTP med små web-API.
FriendlyDB är inte avsett att vara en fullständig användarsystem; det bör användas för att förstärka ett befintligt system för att spåra relationer.
Användning
Använda FriendlyDB från Python ser ut:
från friendlydb.db import FriendlyDB
# Ge Friendly en katalog att arbeta i.
FDB = FriendlyDB ('/ usr / data / vänliga ")
# Ta en användare genom sitt användarnamn.
daniel = fdb ['daniel']
# Följ ett par användare.
daniel.follow ('alice')
daniel.follow ("bob")
daniel.follow ('joe')
# Kontrollera följande.
daniel.following ()
# Returnerar:
# [
# 'Alice',
# "Bob",
# 'Joe',
#]
# Kontrollera joe anhängare.
FDB ['joe']. efterföljare ()
# Returnerar:
# [
# 'Daniel ",
#]
# Sluta följa.
daniel.unfollow ("bob")
# Kontrollera följande.
daniel.following ()
# Returnerar:
# [
# 'Alice',
# 'Joe',
#]
# Dust off & nuke allt från omloppsbana.
fdb.clear ()
Använda FriendlyDB från HTTP ser ut (alla efterföljande snedstreck är valfria):
# I ett skal, starta servern.
python friendlydb / server.py
# Från en annan, köra några webbadresser.
curl -X GET http://127.0.0.1:8008/
# {"Version": "0.3.0"}
curl -X GET http://127.0.0.1:8008/daniel/
# {"Username": "daniel", "efter": [], "anhängare": []}
curl -X POST http://127.0.0.1:8008/daniel/follow/alice/
# {"Username": "daniel", "other_username": "alice", "följt": true}
curl -X POST http://127.0.0.1:8008/daniel/follow/bob/
# {"Username": "daniel", "other_username": "bob", "följt": true}
curl -X POST http://127.0.0.1:8008/daniel/follow/joe/
# {"Username": "daniel", "other_username": "joe", "följt": true}
curl -X POST http://127.0.0.1:8008/daniel/unfollow/joe/
# {"Username": "daniel", "other_username": "joe", "unfollowed": true}
curl -X GET http://127.0.0.1:8008/daniel/
# {"Username": "daniel", "efter": ["alice", "bob"], "anhängare": []}
curl -X GET http://127.0.0.1:8008/daniel/is_following/alice/
# {"Username": "daniel", "other_username": "alice", "is_following": true}
curl -X GET http://127.0.0.1:8008/alice/is_followed_by/daniel/
# {"Username": "alice", "other_username": "daniel", "is_followed_by": true}
curl -X GET http://127.0.0.1:8008/alice/is_followed_by/joe/
# {"Username": "alice", "other_username": "joe", "is_followed_by": false}
Installation
Använda pip, kan du installera den med pip installera friendlydb.
Prestanda
Du kan räckvidd ut FriendlyDB prestanda för dig själv genom att köra den medföljande benchmark.py manus.
I tester på en 2011 MacBook Pro (i7), visade riktmärket skriptet:
- Skapat miljoner relationer mellan 10.000 användare: 7.3 minuter
- Avg tid att hämta en användares anhängare: 0,0008 sekunder
- Aldrig överstiger 40 MB RAM RSS
Löpning Tester
friendlydb upprätthålls med passerande tester hela tiden. Helt enkelt köra:
python -m unittest2 tester
Krav :
- Python
- (tillval) gevent för HTTP-servern
- (tillval) unittest2 för att köra tester
Kommentarer hittades inte