lite-cache 0.1.3

Creator: bradpython12

Last updated:

Add to Cart

Description:

litecache 0.1.3

lite-cache







Branch
Build Status




master



develop




Simple sqlite key-value storage for Python3.
Python3 module for caching data during a program's runtime, with optional persistence.
Features

Program specific cache.
Simple encoding of data using standard json package.
Optional persistence of data across multiple executions.

Useful for keeping some runtime data available to a program after a full exit.

ex. raise Exception or sys.exit(), etc





Installation (from PyPI, with PIP)
lite-cache requires Python >= 3.6.

If not already installed, install pip for Python 3
Install lite_cache
$ pip3 install lite-cache



Usage
To use in default configuration:

Entire cache is in 1 database file, ~/.local/litecache/cache.db

To use in custom configuration:
import lite_cache

program_cache = lite_cache.LiteCache(name='MyProgramCache', location='~/.local/litecache')
# This initializes and creates a new Sqlite3 database file in `location` directory,
# named as "`name`.cache".
# If directory does not exist, error is raised.

This strategy of having unique caches for each program is designed to navigate "same thread" or "single thread" issues with Python & Sqlite3.

This would not prevent issues occurring if multiple instances of the same program were launched on the same machine.

ie. Executing same Python script in 2 terminal tabs. This would lead to two(2) threads attempting to access one(1) Sqlite3 with same name



Development
This project uses pipenv for managing virtual-environments and Python3 dependencies for development and testing.

Reference: https://pypi.org/project/pipenv/

The standard requirements.txt is included for installation via setup.py
Tests

Uses unittests

Run all tests from setup.py
pipenv run python setup.py test

Run specific test
pipenv run python -m unittest tests/test_main.py

Plans

Interface for handling Python+Sqlite3 thread limitations.
Data compression options

License
GPLv3

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.