Skip to main content

Database library for Python based on LMDB storage engine

Project description

PYNNDB2 - Python Native Nosql DataBase library

This is version 2 of the Python NoSQL database library, for more complete documentation please visit https://pynndb.madpenguin.uk or browse around the source code in this repository.

Please note that this library should be backwards compatible with V1 with regards to databases but NOT the API. The API has been reworked so you will need to modify any existing applications in order to use V2. The changes are more semantic than structural and upgrading should not be too onerous. Also, there are new features in V2 which are not available in V1, so once you've started using a database with the V2 library, it's probably best not to move backwards, although if you've not used compression or full function indexes, moving back should be ok.

PyNNDB is a NoSQL Database library implemented in Python utilising the LMDB key-value storage store for back-end functionality. Although there might be an immediate perception that this idea might result in something that is a little "slow", it consists of a python layer backed by a powerful engine written in 'C', much like other popular Python database solutions and as a result generally compares favourably.

The idea of database logic coded in Python came about after many years of using both SQL and NoSQL databases with Python to write Cloud based microservices and coming across issued that were difficult to address with current main-stream solutions. Notably, it became apparent that the performance bottleneck in these applications ended up being in the Python layer between the application and the back-end database, a layer often added as a compatibility options to allow Python applications to access the database. This raised the question, "what if we pick a faster back-end, and make this Python layer a first-class component rather than an after-thought?"

About the code

Version 2 is coded for Python 3.7+ and makes use of Python3's new "typing" module with a view to self-documentation. All of the API documentation (and many of the examples) are documented automatically 100% from source code using the documentation routes contained within this repository, for example;

If you have problems or spot any bugs, please feel free to log an issue on the Bug Tracker or alternatively connect on Keybase

Project details


Download files

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

Source Distribution

pynndb2-2.0.6.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

pynndb2-2.0.6-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file pynndb2-2.0.6.tar.gz.

File metadata

  • Download URL: pynndb2-2.0.6.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5

File hashes

Hashes for pynndb2-2.0.6.tar.gz
Algorithm Hash digest
SHA256 e777519d4973b4debae73b9cf7c6a17e45898a1556b1ffb40db07d10be0d2b73
MD5 b0c3eec6410c144dbcd2243a76f1a2bb
BLAKE2b-256 49838462301e8cbb00590da3a7946d2df8eabb67f4076f024763d467529e97e0

See more details on using hashes here.

File details

Details for the file pynndb2-2.0.6-py3-none-any.whl.

File metadata

  • Download URL: pynndb2-2.0.6-py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5

File hashes

Hashes for pynndb2-2.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 084c65f190616d0713e2b21cefb50289bb955f49ead115b38ff3cf89cfda4f1e
MD5 6259aa65fd207c3b7484a7cd7e342454
BLAKE2b-256 6770468ba757fdf4786df23673855b21b9e00ee13ccb10b4602066ecd0a09db8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page