# Cachetory
[![PyPI](https://img.shields.io/pypi/v/cachetory?logo=python&logoColor=yellow)](https://pypi.org/project/cachetory/)
[![Python versions](https://img.shields.io/pypi/pyversions/cachetory?logo=python&logoColor=yellow)](https://pypi.org/project/cachetory/)
[![Checks](https://img.shields.io/github/actions/workflow/status/kpn/cachetory/check.yml?label=checks&logo=github)](https://github.com/kpn/cachetory/actions/workflows/check.yml)
[![Coverage](https://codecov.io/gh/kpn/cachetory/branch/main/graph/badge.svg?token=UNYTTvxiWk)](https://codecov.io/gh/kpn/cachetory)
[![Code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/kpn/cachetory)
## Documentation
<a href="https://kpn.github.io/cachetory/">
<img alt="Documentation" height="30em" src="https://img.shields.io/github/actions/workflow/status/kpn/cachetory/docs.yml?label=documentation&logo=github">
</a>
## Sneak peak
```python
from cachetory import serializers
from cachetory.backends import async_ as async_backends
from cachetory.caches.async_ import Cache
cache = Cache[int, bytes](
serializer=serializers.from_url("pickle://?pickle-protocol=4"),
backend=async_backends.from_url("redis://localhost:6379"),
)
async def main() -> None:
await cache.set("foo", 42)
assert await cache.get("foo") == 42
```
Raw data
{
"_id": null,
"home_page": "https://github.com/kpn/cachetory",
"name": "cachetory",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0.0,>=3.8.0",
"maintainer_email": null,
"keywords": "cache",
"author": "Pavel Perestoronin",
"author_email": "pavel.perestoronin@kpn.com",
"download_url": "https://files.pythonhosted.org/packages/07/b9/b3a74c2c546ce7b5586361746f4664c1784972204c786c1c766a8285fda9/cachetory-3.3.0.tar.gz",
"platform": null,
"description": "# Cachetory\n\n[![PyPI](https://img.shields.io/pypi/v/cachetory?logo=python&logoColor=yellow)](https://pypi.org/project/cachetory/)\n[![Python versions](https://img.shields.io/pypi/pyversions/cachetory?logo=python&logoColor=yellow)](https://pypi.org/project/cachetory/)\n[![Checks](https://img.shields.io/github/actions/workflow/status/kpn/cachetory/check.yml?label=checks&logo=github)](https://github.com/kpn/cachetory/actions/workflows/check.yml)\n[![Coverage](https://codecov.io/gh/kpn/cachetory/branch/main/graph/badge.svg?token=UNYTTvxiWk)](https://codecov.io/gh/kpn/cachetory)\n[![Code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/kpn/cachetory)\n\n## Documentation\n\n<a href=\"https://kpn.github.io/cachetory/\">\n <img alt=\"Documentation\" height=\"30em\" src=\"https://img.shields.io/github/actions/workflow/status/kpn/cachetory/docs.yml?label=documentation&logo=github\">\n</a>\n\n## Sneak peak\n\n```python\nfrom cachetory import serializers\nfrom cachetory.backends import async_ as async_backends\nfrom cachetory.caches.async_ import Cache\n\n\ncache = Cache[int, bytes](\n serializer=serializers.from_url(\"pickle://?pickle-protocol=4\"),\n backend=async_backends.from_url(\"redis://localhost:6379\"),\n)\n\nasync def main() -> None:\n await cache.set(\"foo\", 42)\n assert await cache.get(\"foo\") == 42\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Caching library with support for multiple cache backends",
"version": "3.3.0",
"project_urls": {
"Homepage": "https://github.com/kpn/cachetory",
"Repository": "https://github.com/kpn/cachetory"
},
"split_keywords": [
"cache"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f21262b71c09cf163eba5dc27d9f7a36524cd7c8bc9edfc33d4b047bc9138959",
"md5": "40087a4131e055a94fa1d97a76be5949",
"sha256": "6db80e3bcea2c92eac3f16c62b989b8f30bc65f7b8fb1aefd19820d690455241"
},
"downloads": -1,
"filename": "cachetory-3.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "40087a4131e055a94fa1d97a76be5949",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.8.0",
"size": 37421,
"upload_time": "2024-04-09T09:47:07",
"upload_time_iso_8601": "2024-04-09T09:47:07.033043Z",
"url": "https://files.pythonhosted.org/packages/f2/12/62b71c09cf163eba5dc27d9f7a36524cd7c8bc9edfc33d4b047bc9138959/cachetory-3.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "07b9b3a74c2c546ce7b5586361746f4664c1784972204c786c1c766a8285fda9",
"md5": "c9d58212e9033dcb9760dae7b89e2731",
"sha256": "2a1dc6d201cf9896376ac2bce5e88a491cd28dd359adaa503ae120edca4443e0"
},
"downloads": -1,
"filename": "cachetory-3.3.0.tar.gz",
"has_sig": false,
"md5_digest": "c9d58212e9033dcb9760dae7b89e2731",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.8.0",
"size": 19838,
"upload_time": "2024-04-09T09:47:12",
"upload_time_iso_8601": "2024-04-09T09:47:12.051089Z",
"url": "https://files.pythonhosted.org/packages/07/b9/b3a74c2c546ce7b5586361746f4664c1784972204c786c1c766a8285fda9/cachetory-3.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-09 09:47:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kpn",
"github_project": "cachetory",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "cachetory"
}