=========================================================================
A bitmapped record number database interface for various database engines
=========================================================================

.. contents::


Description
===========

A record number database is seen as a set of fixed size segments, and an existence bitmap is associated with each segment which contains any records.  The idea is from Model 204 (Rocket Software).

Where an index value refers to many records in a segment these references are encoded as a bitmap or a list of record numbers, in a single <index value> : <bitmap or list> record, rather than as many <index value> : <record number> records.  When 'many' is small a list is favoured to save the space needed for large numbers of unset bits.

The interfaces provided by the apsw, berkeleydb, bsddb3, dptdb, and sqlite3, Python modules are supported.

The interfaces provided by the dbm.gnu, dbm.ndbm, unqlite, and vedis, Python modules are available for experiment.


Installation Instructions
=========================

This package is available on PyPI so can be installed by typing

   python -m pip install --user solentware-base

at the command prompt.

See `Python`_ and `pip`_ documentation for alternatives and platform-specific points.


.. _Python: https://python.org
.. _pip: https://packaging.python.org/installing
