Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
EJDB Python binding
Python C
branch: master
Failed to load latest commit information.
debian EJDB 1.2.3 migration
pyejdb Merge pull request #5 from inlanger/docs-typo-fix
samples #47
src EJDB v1.2.3 migrarion
test EJDB v1.2.3 migrarion
.gitignore EJDB v1.2.3 migrarion
LICENSE Added LGPL licence file python docs
Makefile Makefile EJDB v1.2.3 migrarion python docs
pyejdb.iml build automation #6 fixed

Embedded JSON database library Python 2.7/3.x binding


Required tools/system libraries:

Python binding published:

(A) Installing using pip

pip for python3 or python2 should be installed (sudo apt-get install python3-pip | sudo apt-get install python-pip)

umask 022

   sudo pip install pyejdb

   sudo pip install pyejdb --upgrade

(B) Installing directly from sources

umask 022

git clone
cd ./ejdb-python
sudo python3 ./ install

(C) Installing on Ubuntu/Debian (only for Python3.x)

sudo add-apt-repository ppa:adamansky/ejdb
sudo apt-get update
sudo apt-get install python3-ejdb

One snippet intro

import pyejdb
from datetime import datetime

#Open database
ejdb = pyejdb.EJDB("zoo", pyejdb.DEFAULT_OPEN_MODE | pyejdb.JBOTRUNC)

parrot1 = {
    "name": "Grenny",
    "type": "African Grey",
    "male": True,
    "age": 1,
    "birthdate": datetime.utcnow(),
    "likes": ["green color", "night", "toys"],
    "extra1": None
parrot2 = {
    "name": "Bounty",
    "type": "Cockatoo",
    "male": False,
    "age": 15,
    "birthdate": datetime.utcnow(),
    "likes": ["sugar cane"],
    "extra1": None
}"parrots2", parrot1, parrot2)

with ejdb.find("parrots2", {"likes" : "toys"},
          hints={"$orderby" : [("name", 1)]}) as cur:
    print("found %s parrots" % len(cur))
    for p in cur:
        print("%s likes toys!" % p["name"])

Something went wrong with that request. Please try again.