friendlydb er en hurtig og lille følgende / tilhængere database skrevet i Python. & Nbsp; Det kan enten bruges direkte fra din Python kode eller via HTTP med lille web API.
FriendlyDB er ikke ment til at være en fuld bruger system; det skal bruges til at forøge et eksisterende system til at spore relationer.
Anvendelse
Brug FriendlyDB fra Python ser ud:
fra friendlydb.db import FriendlyDB
# Give Venlig en mappe til at arbejde i.
FDB = FriendlyDB ('/ usr / data / velkomne)
# Snup en bruger ved deres brugernavn.
daniel = fdb ['Daniel']
# Følg et par brugere.
daniel.follow (Alice)
daniel.follow (»Bob«)
daniel.follow ("joe")
# Kontroller nedenstående.
daniel.following ()
# Retur:
# [
# 'Alice',
# 'Bob',
# 'Joe',
#]
# Kontroller joe tilhængere.
FDB ['joe']. tilhængere ()
# Retur:
# [
# 'Daniel',
#]
# Følg ikke længere.
daniel.unfollow (»Bob«)
# Kontroller nedenstående.
daniel.following ()
# Retur:
# [
# 'Alice',
# 'Joe',
#]
# Støv & nuke alt fra kredsløb.
fdb.clear ()
Brug FriendlyDB fra HTTP ligner (alle efterstillede skråstreger er valgfri):
# I en skal, starte serveren.
python friendlydb / server.py
# Fra et andet, køre nogle webadresser.
krøller -X GET http://127.0.0.1:8008/
# {"Version": "0.3.0"}
krøller -X GET http://127.0.0.1:8008/daniel/
# {"Username": "Daniel", "efter": [], "tilhængere": []}
krølle -X POST http://127.0.0.1:8008/daniel/follow/alice/
# {"Username": "Daniel", "OTHER_USERNAME": "Alice", "efterfulgt": true}
krølle -X POST http://127.0.0.1:8008/daniel/follow/bob/
# {"Username": "Daniel", "OTHER_USERNAME": "bob", "efterfulgt": true}
krølle -X POST http://127.0.0.1:8008/daniel/follow/joe/
# {"Username": "Daniel", "OTHER_USERNAME": "Joe", "efterfulgt": true}
krølle -X POST http://127.0.0.1:8008/daniel/unfollow/joe/
# {"Username": "Daniel", "OTHER_USERNAME": "Joe", "unfollowed": true}
krøller -X GET http://127.0.0.1:8008/daniel/
# {"Username": "Daniel", "efter": ["Alice", "bob"], "tilhængere": []}
krøller -X GET http://127.0.0.1:8008/daniel/is_following/alice/
# {"Username": "Daniel", "OTHER_USERNAME": "Alice", "is_following": true}
krøller -X GET http://127.0.0.1:8008/alice/is_followed_by/daniel/
# {"Username": "Alice", "OTHER_USERNAME": "Daniel", "is_followed_by": true}
krøller -X GET http://127.0.0.1:8008/alice/is_followed_by/joe/
# {"Username": "Alice", "OTHER_USERNAME": "Joe", "is_followed_by": false}
Installation
Ved hjælp pip, kan du installere den med pip installere friendlydb.
Ydelse
Du kan anvendelsesområdet ud FriendlyDB præstation for dig selv ved at køre den medfølgende benchmark.py script.
I forsøg med en 2011 MacBook Pro (i7), benchmark script påvist:
- Skabte 1.000.000 relationer mellem 10.000 brugere: 7,3 minutter
- Gns tid til at hente en brugers tilhængere: 0,0008 sekunder
- Aldrig overstiger 40 MB RAM RSS
Løb Tests
friendlydb opretholdes med passerer tests på alle tidspunkter. Du skal blot køre:
python -M unittest2 test
Krav :
- Python
- (valgfri) gevent for HTTP-serveren
- (valgfri) unittest2 til at køre tests
Kommentarer ikke fundet