Fijación del motor Python Table para Tokyo Cabinet

Estoy buscando los enlaces de python para el motor de mesa del gabinete de Tokio. Probé Pytc, pero solo puedo encontrar compatibilidad con el motor Hash y B-tree. ¿Hay otros enlaces disponibles?

Aquí hay una implementación de búsqueda de motor de tabla usando PyTyrant:

http://github.com/ericflo/pytyrant/tree/master

Estuve en contacto con el autor de tc y me dijo lo siguiente:

Actualmente, el controlador de tabla (tdb) existe en la twig maestra ( pruebas unitarias ) y el controlador fdb se está desarrollando en una twig separada.

Probé el controlador de la tabla para una pequeña prueba con éxito, estoy planeando probarlo en tablas más grandes pronto.

Mi twig de pytc llamada “tc” tiene soporte para tablas (TDB) http://github.com/rsms/tc

Ejemplo básico:

>>> import tc >>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT) >>> db.put('some key', {'name': 'John Doe', 'age': '45', 'city': u'Internets'}) >>> rec = db.get('some key') >>> print rec['name'] John Doe 

Realizando consultas:

 >>> import tc >>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT) >>> db.put('torgny', {'name': 'Torgny Korv', 'age': '31', 'colors': 'red,blue,green'}) >>> db.put('rosa', {'name': 'Rosa Flying', 'age': '29', 'colors': 'pink,blue,green'}) >>> db.put('jdoe', {'name': 'John Doe', 'age': '45', 'colors': 'red,green,orange'}) >>> q = db.query() >>> q.keys() ['torgny', 'rosa', 'jdoe'] >>> q.filter('age', tc.TDBQCNUMGE, '30') >>> q.keys() ['torgny', 'jdoe'] >>> q.filter('colors', tc.TDBQCSTROR, 'blue') >>> q.keys() ['torgny'] >>> # new query: >>> q = db.query() >>> q.order('name') # Ascending order by default >>> q.keys() ['jdoe', 'rosa', 'torgny'] >>> q.order(type=tc.TDBQONUMASC, column='age') >>> q.keys() ['jdoe', 'torgny', 'rosa'] 

Más ejemplos en la prueba de unidad TDB: http://github.com/rsms/tc/blob/master/lib/tc/test/tdb.py

He estado monitoreando (y, a veces, mejorando) varios enlaces de Python para TC durante más de un año, así que aquí hay una lista actualizada de los mejores enlaces que coinciden con sus criterios.

  • Para el gabinete de Tokio, incluido Tyrant: tokio-python
  • Para Tokyo Tyrant (puro-Python): pirata

Hay muchas alternativas pasadas y / o incompletas.

La única otra que conozco es una bifurcación de pytc, pero parece que solo han hecho un trabajo de refactorización y documentación, por lo que probablemente todavía solo sea compatible con hash y b-tree:

tc

Si esto no funciona, probablemente no tengas suerte. Creo que todas las ataduras de tirano solo usan el motor hash.