Skip to main content

Serverless self-contained database with pymongo interface

Project description


pyfongo is an in-process library that implements a self-contained, serverless, zero-configuration, mongodb database engine with pymongo's interface.

Inspired by pymongo and sqlite.

Written for Python 3.6.

When to use

  • unit testing of apps that use mongodb
  • stand-in for mongodb during demos and testing
  • as application file format
  • data analysis using mongodb queries
  • temporary database for reorganizing data
  • in embedded systems


>>> import pyfongo
>>> cx = pyfongo.FongoClient('/path/to/datadir')
>>> db = cx.test
>>> db.my_collection.insert_one({'x': 10}).inserted_id
>>> db.my_collection.insert_one({'x': 12}).inserted_id
>>> db.my_collection.find_one()
{'x': 10, '_id': ObjectId('5aded7ff7aea217b9056e9d0')}
>>> for item in db.my_collection.find().sort('x', -1):
...     print(item['x'])


The same tests are run against both pyfongo and a local mongodb server using pymongo to ensure that pyfongo mimics mongodb/pymongo's behavior correctly.

Run the tests with: pipenv run pytest -sv

Note that you will need to run pipenv install --dev once before you can run the tests.

Project details

Download files

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

Files for pyfongo, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size pyfongo-0.1.0.tar.gz (5.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page