pysmartcache
PySmartCache is a memoizer implementation with lasers.
Idea is quite simple: you just need to decorate your function/method with @cache(), and pysmartcache will take care of the rest (caching based on arguments, cache invalidation, helpers for cache purge, cache refresh and cache invalidation, and so on).
For instance, change this:
def calculate_universe_mass(some_parameter, another_parameter, whatever):
return 42
to this:
from pysmartcache import cache
@cache()
def calculate_universe_mass(some_parameter, another_parameter, whatever):
return 42
Seriously. That's it. =P
For more dense details please refer to the docs.
Development:
Run linter:
pip install -r requirements_dev.txt
isort -rc .
tox -e lint
Run tests via tox:
pip install -r requirements_dev.txt
tox
Release a new major/minor/patch version:
pip install -r requirements_dev.txt
bump2version <PART> # <PART> can be either 'patch' or 'minor' or 'major'
Upload to PyPI:
pip install -r requirements_dev.txt
python setup.py sdist bdist_wheel
python -m twine upload dist/*
Contributing:
Please open issues if you see one, or create a pull request when possible. In case of a pull request, please consider the following:
- Respect the line length (132 characters)
- Write automated tests
- Run
toxlocally so you can see if everything is green (including linter and other python versions)
Release files for pysmartcache 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysmartcache-3.0.1.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysmartcache-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:11.2 kB
Release files / pysmartcache-3.0.1.tar.gz
| Download URL | pysmartcache-3.0.1.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7628e86cd8056afcf65c63c9cdb19127594161988e405816b1c10fafe92fea26
|
|
BLAKE2b-256 checksum How to use checksums |
83b89b2f3c60e33808e5c13f9b6511528a86f02b95c235defd2a525255d934e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
|
Release files / pysmartcache-3.0.1-py3-none-any.whl
| Download URL | pysmartcache-3.0.1-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2758dcf0f21a52c8fb3ed9fc1e5fb1f35f5b13c8d42c98a4300c5947d91421a0
|
|
BLAKE2b-256 checksum How to use checksums |
f2212314bc9ffb01acd526829be111bffeecde9cc59733bcfe376656d34407f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
|