Skip to main content

Object wrapper for tokyo cabinet / tokyo tyrant

Project description

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'

Project details


Release history Release notifications

This version
History Node

0.33

History Node

0.32

History Node

0.31

History Node

0.24

History Node

0.23

History Node

0.22

History Node

0.21

History Node

0.11

History Node

0.3

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
tclite-0.33.tar.gz (6.0 kB) Copy SHA256 hash SHA256 Source None Jun 9, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page