Skip to main content

PyDbLite, a fast, pure-Python in-memory database

Project description

PyDbLite

PyDbLite is

  • a fast, pure-Python, untyped, in-memory database engine, using Python syntax to manage data, instead of SQL

  • a pythonic interface to SQLite using the same syntax as the pure-Python engine for most operations (except database connection and table creation because of each database specificities)

PyDbLite is suitable for a small set of data where a fully fledged DB would be overkill.

Supported Python versions: 2.6+

Build status: build-status

Read the documentation: Documentation Status

Installation

PIP

pip install pydblite

Manually

Download the source and execute

python setup.py install
Changelog

3.0 (2014-09-18)

Note: Some changes in this release are not backwards compatible with 2.X versions.

  • pydblite and sqlite are rewritten to use a common Filter object.

  • Tests have been improved and standardised in Unit tests.

  • Updated Example code.

  • Renamed module and package names to lower case according to PEP 8

  • Converted to UNIX line endings and follow PEP 8 code style.

  • MySQL adapter has been dropped until it can be tested with unit tests.

2.6

  • if db exists, read field names on instance creation

  • allow add_field on an instance even if it was not open()

  • attribute path is the path of the database in the file system (was called “name” in previous versions)

  • attribute name is the base name of the database, without the extension

  • adapt code to run on Python 2 and Python 3

2.5

  • test is now in folder “test”

  • SQLite changes:

    • many changes to support “legacy” SQLite databases

      • no control on types declared in CREATE TABLE or ALTER TABLE

      • no control on value types in INSERT or UPDATE

      • no version number in records

    • add methods to specify a conversion function for fields after a SELECT

    • change names to be closer to SQLite names

      • a class Database to modelise the database

      • a class Table (not Base) for each table in the database

2.4

  • add BSD Licence

  • raise exception if unknown fields in insert

2.3

  • introduce syntax (db(‘name’)>’f’) & (db(‘age’) == 30)

2.2

  • add __contains__

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

PyDbLite-3.0.tar.gz (622.3 kB view hashes)

Uploaded Source

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