Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

asyncio-foundationdb

https://api.travis-ci.com/amirouche/asyncio-foundationdb.svg?branch=master

asyncio drivers for foundationdb tested with CPython 3.8+

In [1]: import found
In [2]: import asyncio
In [3]: found.api_version(600)
In [4]: loop = asyncio.get_event_loop()
In [5]: db = loop.run_until_complete(found.open())
In [6]: tr = db._create_transaction()
In [7]: loop.run_until_complete(tr.get(b'hello'))
In [8]: tr.set(b'hello', b'world')
In [9]: loop.run_until_complete(tr.get(b'hello'))
Out[9]: b'world'

Also @transactional is supported.

Getting started

pip install asyncio-foundationdb

Documentation

You must read the official python api documentation, it is awesome.

In general, the asyncio bindings are the same except there is async and await that must be added here and there.

Here are differences with the synchronous bindings:

  • no shorthand syntax like: foo[b'bar']
  • You can do value is None instead of value == None
  • Transaction.get_range returns a list of (key, value) pairs

If something is missing it's a bug, please fill an issue.

ChangeLog

v0.9.0

  • feature: bump to foundationdb 6.2.0 client API
  • feature: add hooks and states

v0.8.0

  • breaking change: replace get_rangefoo with rangefoo as async generator
  • new: add short syntax for querying Nstore.query(tr, patterns)
  • chore: remove pipenv, and pre-commit