Skip to main content

A simple key/value store with multiple backends.

Project description

🥫 Preserve - A simple Python Key/Value database with multiple backends.

⚠️ Preserve is alpha software and currently in development (i.e., no tests).

Preserve is a simple (simplistic) key/value store for storing JSON-like data in different backends. Its API is based on the standard Python dictionary API.

ℹ️ Installation and Usage

Preserve can be installed using pip:

pip install preserve

Preserve can be also installed from Github directly using the following command:

pip install git+https://github.com/evhart/preserve#egg=preserve

📒 Requirements

Preserve needs the following libraries installed and Python 3.6+ (tested on Python 3.8):

Optioanal dependencies for specific backends:

🐍 Python API

If you know how to use Python dictionaries, you already know how to use preserve. Simply use the backend connector that corresponds to your database and you are ready to go.

You can either create a new database from a standarised database URI or using the driver parameters:

import preserve

# Using parameters:
jam_db1 = preserve.open('shelf', filename="preserve.dbm")
jam_db1['strawberry'] = {'name': 'Strawbery Jam', 'ingredients': ['strawberry', 'sugar']}

# Using URI:
jam_db2 = preserve.from_uri("mongodb://127.0.0.1:27017/preserves?collection=jam")
jam_db2['currant'] = {'name': 'Currant Jam', 'ingredients': ['currant', 'sugar']}

🖥️ Command Line Interface (CLI)

Preserve has a simple CLI utility that can be access using the `preserve` command. Preserve support migrating/exporting data from one database ot another database and showing the firs rows from databases.

Usage: preserve [OPTIONS] COMMAND [ARGS]...

  🥫 Preserve - A simple Key/Value database with multiple backends.

Options:
  --install-completion [bash|zsh|fish|powershell|pwsh]
                                  Install completion for the specified shell.
  --show-completion [bash|zsh|fish|powershell|pwsh]
                                  Show completion for the specified shell, to
                                  copy it or customize the installation.

  --help                          Show this message and exit.

Commands:
  connectors  List available connectors.
  export      Export a database to a different output.
  header      Get header of a given database table.

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

preserve-1.2.1.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

preserve-1.2.1-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file preserve-1.2.1.tar.gz.

File metadata

  • Download URL: preserve-1.2.1.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.5 Linux/6.11.0-1018-azure

File hashes

Hashes for preserve-1.2.1.tar.gz
Algorithm Hash digest
SHA256 bcb465e183747274fcb8855e25cfe4a6124cb9e0e7161a3c10e24637328461a7
MD5 3e67c2176a01b1797a4af7f5dae12118
BLAKE2b-256 e7cba65549f7627c968b87002acf1461f71a028697e064fab26b47b2492c3736

See more details on using hashes here.

File details

Details for the file preserve-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: preserve-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.5 Linux/6.11.0-1018-azure

File hashes

Hashes for preserve-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 89497ae32c34845c0a53acb0bd4b9a06cd19cea9a7078d70875f75c554392fa8
MD5 469aabcede43a3e09bfe875757682ade
BLAKE2b-256 2e78f84389619eb19acb74023b03b82eeb7d4079f9307827636bf93be0f7865c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page