friendlydb er en rask og lite følgende / etterfølgere database skrevet i Python. & Nbsp; Det kan enten brukes direkte fra din Python-kode eller over HTTP med liten web API.
FriendlyDB er ikke ment å være en full bruker system; det bør brukes for å forsterke en eksisterende system for å spore relasjoner.
Bruk
Hjelp FriendlyDB fra Python ser slik ut:
fra friendlydb.db import FriendlyDB
# Gi Vennlig en katalog å jobbe i.
FDB = FriendlyDB ('/ usr / data / vennlig')
# Ta en bruker av deres brukernavn.
daniel = fdb ['daniel']
# Følg et par brukere.
daniel.follow ('alice')
daniel.follow ('bob')
daniel.follow ('joe')
# Sjekk følgende.
daniel.following ()
# retur:
# [
# 'Alice',
# 'Bob',
# 'Joe',
#]
# Sjekk joe etterfølgere.
FDB ['joe']. etterfølgere ()
# retur:
# [
# 'Daniel',
#]
# Slutt å følge.
daniel.unfollow ('bob')
# Sjekk følgende.
daniel.following ()
# retur:
# [
# 'Alice',
# 'Joe',
#]
# Dust off & nuke alt fra bane.
fdb.clear ()
Hjelp FriendlyDB fra HTTP ser ut (alle etterfølgende skråstreker er valgfritt):
, Starte serveren # I ett skall.
python friendlydb / server.py
# Fra en annen, kjøre noen nettadresser.
curl -X GET http://127.0.0.1:8008/
# {"Versjon": "0.3.0"}
curl -X GET http://127.0.0.1:8008/daniel/
# {"Brukernavn": "daniel", "etter": [], "tilhengere": []}
krølle -X POST http://127.0.0.1:8008/daniel/follow/alice/
# {"Brukernavn": "daniel", "OTHER_USERNAME": "Alice", "etterfulgt": true}
krølle -X POST http://127.0.0.1:8008/daniel/follow/bob/
# {"Brukernavn": "daniel", "OTHER_USERNAME": "bob", "etterfulgt": true}
krølle -X POST http://127.0.0.1:8008/daniel/follow/joe/
# {"Brukernavn": "daniel", "OTHER_USERNAME": "joe", "etterfulgt": true}
krølle -X POST http://127.0.0.1:8008/daniel/unfollow/joe/
# {"Brukernavn": "daniel", "OTHER_USERNAME": "joe", "unfollowed": true}
curl -X GET http://127.0.0.1:8008/daniel/
# {"Brukernavn": "daniel", "etter": ["alice", "bob"], "tilhengere": []}
curl -X GET http://127.0.0.1:8008/daniel/is_following/alice/
# {"Brukernavn": "daniel", "OTHER_USERNAME": "Alice", "is_following": true}
curl -X GET http://127.0.0.1:8008/alice/is_followed_by/daniel/
# {"Brukernavn": "Alice", "OTHER_USERNAME": "daniel", "is_followed_by": true}
curl -X GET http://127.0.0.1:8008/alice/is_followed_by/joe/
# {"Brukernavn": "Alice", "OTHER_USERNAME": "joe", "is_followed_by": falsk}
Installasjon
Ved hjelp av pip, kan du installere det med pip installere friendlydb.
Ytelse
Du kan omfanget ut FriendlyDB ytelse for deg selv ved å kjøre den medfølgende benchmark.py script.
I tester på en 2011 MacBook Pro (i7), referanse manuset demonstrert:
- Skapt millioner relasjoner mellom 10.000 brukere: 7,3 minutter
- Avg tid til å hente en brukers etterfølgere: 0,0008 sekunder
- Aldri mer enn 40Mb RAM RSS
kjøre tester
friendlydb opprettholdes med bestått tester til alle tider. Bare løpe:
python -m unittest2 tester
Krav :
- Python
- (valgfritt) gevent for HTTP-server
- (valgfritt) unittest2 for å kjøre tester
Kommentarer ikke funnet