Skip to main content

A document-oriented database written purely in Python.

Project description

Blitz is a document-oriented database toolkit for Python that is backend-agnostic.

It comes with a flat-file database for JSON documents and provides MongoDB-like querying capabilities.

Key Features

  • Document-based, object-oriented interface.

  • Powerful and rich querying language.

  • Deep document indexes on arbitrary fields.

  • Compressed storage of documents.

  • Support for multiple backends (e.g. file-based storage, MongoDB).

  • Support for database transactions (currently only for the file-based backend).

Documentation

An extensive documentation, including tutorials and installation instructions is available on ReadTheDocs.

Source Code

The source code is available on GitHub.

Isssue Tracker

If you should encounter any problems when using BlitzDB, please feel free to submit an issue on Github.

Changelog

  • 0.4.4: SQL backend: Do not coerce server_default values via a CAST, as this can cause incompatibilities.

  • 0.4.3: Many small improvements to the SQL backend.

  • 0.3.3: Be more robust against corrupted data for foreign key objects. Fix problem with intersection of query sets in SQL backend.

  • 0.3.2: Give the user more control over cascading deletes for foreign keys and M2M objects in the SQL backend.

  • 0.3.1: Made intersect statement more efficient (and avoid using CTEs for that).

  • 0.3.0: Fully functionaly SQL backend.

  • 0.2.12: Added support for proper attribute iteration to Document.

  • 0.2.11: Allow setting the collection parameter through a Document.Meta attribute.

  • 0.2.10: Bugfix-Release: Fix Python 3 compatibility issue.

  • 0.2.9: Bugfix-Release: Fix serialization problem with file backend.

  • 0.2.8: Added get, has_key and clear methods to Document class

  • 0.2.7: Fixed problem with __unicode__ function in Python 3.

  • 0.2.6: Bugfix-Release: Fixed an issue with the $exists operator for the file backend.

  • 0.2.5: Bugfix-Release

  • 0.2.4: Added support for projections and update operations to the MongoDB backend.

  • 0.2.3: Bugfix-Release: Fixed bug in transaction data caching in MongoDB backend.

  • 0.2.2: Fix for slice operators in MongoDB backend.

  • 0.2.1: Better tests.

  • 0.2.0: Support for including additional information in DB references. Support for accessing document attributes as dictionary items.

    Added $regex parameter that allows to use regular expressions in queries.

  • 0.1.5: MongoDB backend now supports database transactions. Database operations are now read-isolated by default, i.e.

    uncommitted operations will not affect database queries before they are committed.

  • 0.1.4: Improved indexing of objects for the file backend, added support for automatic serialization/deserialization

    of object attributes when adding keys to or querying an index.

  • 0.1.3: Sorting of query sets is now supported (still experimental)

  • 0.1.2: Small bugfixes, BlitzDB version number now contained in DB config dict

  • 0.1.1: BlitzDB is now Python3 compatible (thanks to David Koblas)

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

blitzdb-0.4.4.tar.gz (61.4 kB view details)

Uploaded Source

File details

Details for the file blitzdb-0.4.4.tar.gz.

File metadata

  • Download URL: blitzdb-0.4.4.tar.gz
  • Upload date:
  • Size: 61.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for blitzdb-0.4.4.tar.gz
Algorithm Hash digest
SHA256 6e95ef743f18c642c474855d000893b2c16d315c4cfb6bd95779b5de7253c3dc
MD5 9dc1abe64a8a13a04aac18ac9c64308e
BLAKE2b-256 c016f1dd7413dcdb3e93901a4fb7ee590ee2d605c9c9874006b2cd876c25e99c

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