# 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-ruff-000000.svg)
## 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.9.0",
"maintainer_email": null,
"keywords": "cache",
"author": "Pavel Perestoronin",
"author_email": "pavel.perestoronin@kpn.com",
"download_url": "https://files.pythonhosted.org/packages/89/4f/3f4ddef32e089b12c08f760a621e1a8103c496104f2aaaeb3e193f787013/cachetory-3.4.2.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-ruff-000000.svg)\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.4.2",
"project_urls": {
"Homepage": "https://github.com/kpn/cachetory",
"Repository": "https://github.com/kpn/cachetory"
},
"split_keywords": [
"cache"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bcca9e93e1b873277b6936dea65451e9bfc5ec5044593b1d1cf8b49a2e757786",
"md5": "708db0c4499112ae174a2dbdda15d77c",
"sha256": "a49b501d3636216f5a5e8510528d6846f7e66e52bce4c9c7ad0282606535b627"
},
"downloads": -1,
"filename": "cachetory-3.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "708db0c4499112ae174a2dbdda15d77c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.9.0",
"size": 37557,
"upload_time": "2024-10-24T18:57:15",
"upload_time_iso_8601": "2024-10-24T18:57:15.482690Z",
"url": "https://files.pythonhosted.org/packages/bc/ca/9e93e1b873277b6936dea65451e9bfc5ec5044593b1d1cf8b49a2e757786/cachetory-3.4.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "894f3f4ddef32e089b12c08f760a621e1a8103c496104f2aaaeb3e193f787013",
"md5": "db01527414dd5597073420733a1352d1",
"sha256": "3c271c69b7261e1ad1292b89a4dba2a55818bd74ef2c7fef1ec736267521b60a"
},
"downloads": -1,
"filename": "cachetory-3.4.2.tar.gz",
"has_sig": false,
"md5_digest": "db01527414dd5597073420733a1352d1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.9.0",
"size": 19877,
"upload_time": "2024-10-24T18:57:17",
"upload_time_iso_8601": "2024-10-24T18:57:17.045149Z",
"url": "https://files.pythonhosted.org/packages/89/4f/3f4ddef32e089b12c08f760a621e1a8103c496104f2aaaeb3e193f787013/cachetory-3.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-24 18:57:17",
"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"
}