Skip to main content

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!


PyPI - Python Version isort Test Status Docs Status Docs Status PyPI - Downloads GitHub issues GitHub pull requests GitHub GitHub tag (latest SemVer)

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magic_storage-1.1.0.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

magic_storage-1.1.0-py2.py3-none-any.whl (16.3 kB view details)

Uploaded Python 2 Python 3

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

Hashes for magic_storage-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3c0a9a09d8a9f4b84f89744e9104fe78bfc35e56ac106433234cf07e4c5be106
MD5 1712646a97b34b2e66379295aa18c303
BLAKE2b-256 6681b102b4e2dc73dfc7b06e4c69d0b41edb29f94e18b3b1a6c7182a994b548f

See more details on using hashes here.

File details

Details for the file magic_storage-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for magic_storage-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1ca1e6fd3804bbeafbb41e2e04c87b405f35976ea685c4a0a5f0c81d3e2fe107
MD5 15d78b138942680570285962f3088adb
BLAKE2b-256 ac5aecb8919fb6fcfc9bc7bb4da24beb29945a466577b62fa20b329017b5552e

See more details on using hashes here.

Supported by

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