Nosqlite

338 days ago by WilliamStein

sage -hg clone https://wstein@nosqlite.googlecode.com/hg/ nosqlite
cd nosqlite
sage -python setup.py develop

 

Make a simple local database (not networked):

import nosqlite db = nosqlite.Client(DATA+'localdb').db db 
       
Database 'db'
Database 'db'

Insert a document in a table.

db.table.delete() 
       
db.table.insert({'a':10, 'b':20}) 
       
db.table.find_one() 
       
{u'a': 10, u'b': 20}
{u'a': 10, u'b': 20}
db.table.insert(a=3, b=17) 
       
list(db.table.find(b=17)) 
       
[{u'a': 3, u'b': 17}]
[{u'a': 3, u'b': 17}]

Do something more complicated that uses pickle.

x = var('x') K.<a> = NumberField(x^2 - x -1) E = EllipticCurve([a,1,1-a,a,1]) 
       
db.curves.insert({'ainvs':E.a_invariants(), 'cond':E.conductor(), 'T':E.torsion_order()}) 
       
db.curves.find_one() 
       
{u'ainvs': (a, 1, -a + 1, a, 1), u'cond': Fractional ideal (30*a + 703),
u'T': 1}
{u'ainvs': (a, 1, -a + 1, a, 1), u'cond': Fractional ideal (30*a + 703), u'T': 1}