Une petite base de données de documents pour Python

· 1 minute de lecture
Une petite base de données de documents pour Python

BD d'étagère

Introduction

Shelf DB est une petite base de données de documents permettant à Python de stocker des documents ou des données de type JSON.

Tu piges

$ pip install shelfdb shelfquery

Démarrer le serveur asyncio

$ shelfdb
Serving on ('127.0.0.1', 17000)
Database : db
pid : 12359

uvloop déjà intégré pour le rendre plus rapide. Voir uvloop.

Client de requête Sync/Async via le réseau.

import shelfquery

# Sync client point to 127.0.0.1:17000
db = shelfquery.db()

# Make it async client
db.asyncio()

# Make it sync client again
db.sync()

Stocker les données

db.shelf('note').insert({
    'title' : 'Shelf DB',
    'contenu' : 'Note simple',
    'datetime' : datetime.utcnow()})

API de requête flexible avec une syntaxe similaire

db.shelf('note')\
    .filter(note lambda :
        note['title'] == 'Shelf DB')\
    .sort(clé=note lambda : note['datetime'])
    .Cours()

Pas besoin d'apprendre plus de syntaxe. Examinons simplement en utilisant filter, slice, sort, map, reduce qui sont presque identiques aux fonctions intégrées de Python.

Expression régulière

L'expression reqular Python re peut être utilisée dans la fonction de requête

import re
db.shelf('note')\
    .filter(lambda note:
        re.match(r'.*DB$', note['title']))\
    .run()

Tiny

shelfdb ~ 12kB shelfquery ~ 4kB

Le code d'exécution est petit, facile à installer. Shelf DB fonctionne également sur Raspberry Pi.

GitHub

https://github.com/nitipit/shelfdb