Handle generic file and directories caching
Project description
xtremcache
xtremcache
is a Python package dedicated to handle generic file and directories caching on Windows or Linux.
The goal of this module is to be able to cache a file or directory with a unique identifier of your choice and later uncache to a specific location.
The directory where the cached files are located is local.
The concurrent access (reading and writing) on chached archives is handle by a small data base located in the local data directory.
Installation
xtremcache
is available on PyPi.
Tests
Tests are written following unittest
framework. Some dependencies are needed (test-requirements.txt
). If you want to run tests, enter the following command at the root level of the package:
python -m unittest discover -s tests # All tests
python -m unittest discover -s tests/unit # Unit tests
python -m unittest discover -s tests/integration # Integration tests
Usage
Cache and uncache example
- Create CacheManager with optional data location and the maximum size in Mo of this cache directory.
- Cache a directory with unique id to find it lather.
- Uncache with unique id to a specifique directory.
Python:
from xtremcache.cachemanager import CacheManager
cache_manager = CacheManager(
cache_dir='/tmp/xtremcache',
max_size=20_000_000)
cache_manager.cache(
id='UUID',
path='/tmp/dir_to_cache')
cache_manager.uncache(
id='UUID',
path='/tmp/destination_dir')
Shell:
xtremcache config set cache_dir '/tmp/xtremcache' --local
xtremcache config set max_size '20m' --local
xtremcache cache --id 'UUID' '/tmp/dir_to_cache'
xtremcache uncache --id 'UUID' '/tmp/destination_dir'
Override cached example
- Create CacheManager with data location and the maximum size in Mo of this cache directory
- Cache a directory with unique id to find it lather
- Override last unique id to a new directory
Python:
from xtremcache.cachemanager import CacheManager
cache_manager = CacheManager(
cache_dir='/tmp/xtremcache',
max_size=20_000_000)
cache_manager.cache(
id='UUID',
path='/tmp/dir_to_cache')
cache_manager.cache(
id='UUID',
path='/tmp/new_dir_to_cache',
force=True)
Shell:
xtremcache config set cache_dir '/tmp/xtremcache' --local
xtremcache config set max_size '20m' --local
xtremcache cache --id 'UUID' '/tmp/dir_to_cache'
xtremcache cache --force --id 'UUID' '/tmp/new_dir_to_cache'
Cache and clean example
- Create CacheManager with data location and the maximum size in Mo of this cache directory
- Cache a directory with unique id to find it lather
- Remove chached file
Python:
from xtremcache.cachemanager import CacheManager
cache_manager = CacheManager(
cache_dir='/tmp/xtremcache',
max_size='20m')
cache_manager.cache(
id='UUID',
path='/tmp/dir_to_cache')
cache_manager.remove(
id='UUID')
Shell:
xtremcache config set cache_dir '/tmp/xtremcache' --local
xtremcache config set max_size '20m' --local
xtremcache cache --id 'UUID' '/tmp/dir_to_cache'
xtremcache remove --id 'UUID'
Cache and clean all example
- Create CacheManager with data location and the maximum size in Mo of this cache directory
- Cache a directory with unique id to find it lather
- Remove all chached files
Python:
from xtremcache.cachemanager import CacheManager
cache_manager = CacheManager(
cache_dir='/tmp/xtremcache',
max_size='20m')
cache_manager.cache(
id='UUID',
path='/tmp/dir_to_cache')
cache_manager.remove()
Shell:
xtremcache config set cache_dir '/tmp/xtremcache' --local
xtremcache config set max_size '20m' --local
xtremcache cache --id 'UUID' '/tmp/dir_to_cache'
xtremcache remove
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
Built Distribution
File details
Details for the file xtremcache-2.2.0.tar.gz
.
File metadata
- Download URL: xtremcache-2.2.0.tar.gz
- Upload date:
- Size: 2.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38470e32d2147ff680be465c997ffe2d5a9032f20f6815f81f5dbad3929113ca |
|
MD5 | a823d2c641b11308fe1cd5ae5fe67c7a |
|
BLAKE2b-256 | dcd1d32998937cab4891d530f113a171c7ee0ee4cca41f96872c09b102308d34 |
File details
Details for the file xtremcache-2.2.0-py3-none-any.whl
.
File metadata
- Download URL: xtremcache-2.2.0-py3-none-any.whl
- Upload date:
- Size: 2.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac788c5be40856641c2a59eed191be9c62374174d0c9252502f356ee961c4c5f |
|
MD5 | 529faa8197bfe3bb18ef662de375219b |
|
BLAKE2b-256 | 2b94635627054fa275ac8280fad99788b9dc830bb814270683fb6f7eba78c194 |