Small Python 3 library providing wrapper classes for storage (caching) of test resources (and unintentionally other types of resources too).
Project description
Magic Storage cooler than you think!
Magic storage is a Python library that provides tools to easily write, read and delete resources for testing. This applies, of course, to resources that are difficult to obtain but not very expensive to store locally and, in addition, do not change. A good example are responses from REST APIs or at least those of them that are not live data.
The library consists of a set of classes that implement storage using the file system and temporary storage in RAM. All tools can be accessed through the MagicStorage class.
Installing
Install and update using pip:
$ pip install -U magic_storage
Example
from typing import Any
from magic_storage import MagicStorage
def very_expensive_get() -> Any:
...
response = (
MagicStorage()
.filesystem(__file__)
.cache_if_missing("Nice thing", lambda: very_expensive_get())
)
Documentation
Online documentation is available on Github pages.
Project details
Release history Release notifications | RSS feed
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 magic_storage-1.1.0.tar.gz
.
File metadata
- Download URL: magic_storage-1.1.0.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c0a9a09d8a9f4b84f89744e9104fe78bfc35e56ac106433234cf07e4c5be106 |
|
MD5 | 1712646a97b34b2e66379295aa18c303 |
|
BLAKE2b-256 | 6681b102b4e2dc73dfc7b06e4c69d0b41edb29f94e18b3b1a6c7182a994b548f |
File details
Details for the file magic_storage-1.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: magic_storage-1.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ca1e6fd3804bbeafbb41e2e04c87b405f35976ea685c4a0a5f0c81d3e2fe107 |
|
MD5 | 15d78b138942680570285962f3088adb |
|
BLAKE2b-256 | ac5aecb8919fb6fcfc9bc7bb4da24beb29945a466577b62fa20b329017b5552e |