Skip to main content

CI Status Cov Status For Python 3.4, 3.5, 3.6 & 3.7(Nightly)

EssentialDB is a pure Python document database developed to meet the following tenets:

  1. Databases shouldn’t slow down development - a developer should be able to integrate a database in less than a minute.

  2. Development databases should have a complete feature set and be performant enough for prototyping and project startups

  3. Development databases should provide a path to scale when your project takes off

Project On GitHub | Full Docs @ ReadTheDocs | Distribution On Pypi

Speeding Development

Our first tenet is that you should be able to start developing in less than a minute. Since EssentialDB is an ‘embedded’ database, there is no external services or dependencies to install or administrate. The tenet here is to take you from concept to development in less than a minute.

Installing is this simple:

pip install essentialdb

Using is this simple:

from essentialdb import EssentialDB

#create or open the database
db = EssentialDB(filepath="my.db")

#get the collection using 'adhoc' style (like pymongo)
authors = db.authors

#get the collection explicitly
authors = db.get_collection('authors', create=True)

#insert a document into the collection
authors.insert_one({'first': 'Langston', 'last': 'Hughes', 'born': 1902});

#find some entries
results = authors.find({'last':'Hughes'})

#commit the changes to disk
db.sync()

You can also use with semantics to assure that the database is closed and synced on exit:

with EssentialDB(filepath="my.db").authors as authors:

    data = [{'first': 'Langston', 'last': 'Hughes', 'born': 1902},
    {'first': 'Ezra', 'last': 'Pound', 'born': 1885}]

    authors.insert_many(data)

Documents are just Python dictionaries and EssentialDB provides an API to easily store and retrieve them.

Features & Performance

Our second tenet is that EssentialDB should have the performance and features you need to get your project rolling.

EssentialDB supports a very rich queries that follow the same basic form as MongoDB:

{ <field1>:  <operator1>: <value1> }, ... }

Most comparison operators are supported, including equals, not equals, less than, greater than:

author_db.find({"born" : {"$gt": 1900}})

You can even test against lists of items using $in and $nin:

author_db.find({"genre" : {"$in": ["tragedy", "drama"]}})

AND and OR boolean operators allow you to make arbitrarily complex queries:

#find authors born after 1900 and before 2000
author_db.find({'$and':[{'born': {'$gte': 1900}},{'born': {'$lt': 2000}}]})

#find authors with either the first or last name John
author_db.find({'$or':[{'first': {'$eg': 'John'}},{'last': {'$eq': 'John'}}]})

We’ve tested EssentialDB under some typical use cases, and seen that it is plenty performant for many use cases with small to moderate loads.

Metadata

Release files for essentialdb 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for essentialdb 0.7.1
File Size Uploaded
essentialdb-0.7.1.win32.zip 30.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for essentialdb 0.7.1
File Interpreter ABI Platform
essentialdb-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 45.3 kB

Release files / essentialdb-0.7.1.win32.zip

Download URL essentialdb-0.7.1.win32.zip
Size 30.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b72d94a01604db29c6dc3402e1808176f157fe9d7928bd7fd5d1690b8486df7b
BLAKE2b-256 checksum
How to use checksums
b42e1fb81d38677a98bf1021f608c9902dfb4f160cdcc9ff69276b33f4bd0e74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / essentialdb-0.7.1-py3-none-any.whl

Download URL essentialdb-0.7.1-py3-none-any.whl
Size 14.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
032857cf44eb3199eda288daed56206a52df8a54ed857d3912a211babcbe81b6
BLAKE2b-256 checksum
How to use checksums
f45881f273b9b2e4de8b3b35af05b817b40d2bf4ef39de9fa1134592351ffeab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files

0.7

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

1 release file

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.21

2 release files

0.3.20

2 release files

0.3.19

2 release files

0.3.18

2 release files

0.3.17

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page