tclite 0.33
Object wrapper for tokyo cabinet / tokyo tyrant
Tokyo cabinet and tokyo tyrant object wrapper.
Installation
$ pip install tclite
Usage
>>> import tclite as tl >>> from datetime import datetime, date>>> class User(tl.Model): ... username = tl.UnicodeProperty(key='u') # realy stored by short 'u' key ... birthday = tl.DateProperty() ... rating = tl.IntegerProperty(default=0) ... reply_rate = tl.FloatProperty(default=0) ... about_me = tl.CompressedUnicodeProperty(internal_encoding='cp1251') ... friends = tl.DumpProperty(default={}) ... messages = tl.CompressedDumpProperty(default=[]) ... is_active = tl.BooleanProperty(default=True) ... created = tl.DateTimeProperty(index=True) # indexed field ... choice = tl.ChoiceProperty([('1', 'first'), ('2', 'second')]) ... ... __file__ = 'var/readme_test.tclite' ... #__host__ = 'localhost:1978'>>> User.db.clear() >>> for i in xrange(100): ... User( ... username='user-%s' % i, ... birthday=date(1900 + i, 1, 1), ... created=datetime.now() ... ).save()>>> users = User.filter('birthday >=', date(1950, 1, 1)) >>> users.count() 50>>> for user in users.filter('username endswith', '0').order('-created'): ... user.username u'user-90' u'user-80' u'user-70' u'user-60' u'user-50'>>> users.get().username u'user-50'>>> users.delete() >>> users.count() 0 >>> User.filter().count() 50>>> User(username='Foo', key='user-foo').save() # set custom key name >>> User.get('user-foo').username # get by keyname u'Foo'
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| tclite-0.33.tar.gz (md5) | Source | 2011-06-09 | 5KB | 307 | |
- Author: Imbolc
- Home Page: http://bitbucket.org/imbolc/tclite/
- Keywords: tc,tokyo,cabinet,tyrant,nosql,orm,model,document,non-relational,document-oriented,key/value
- License: BSD
- Categories
- Package Index Owner: imbolc.name
- DOAP record: tclite-0.33.xml
