<p align="center">
<h1 align="center">Aiogram Magick</h1>
<p align="center">
<a href="https://pypi.org/project/aiogram_magick/"><img alt="PyPI" src="https://img.shields.io/pypi/v/aiogram_magick?style=flat&logo=python&logoColor=white"></a>
</p>
<p align="center">Magick for Aiogram 3.x-based Telegram bots.</p>
<p align="center">
<a href="https://arichr.github.io/aiogram_magick/"><img alt="Read documentation" src="https://img.shields.io/badge/read-documentation-cyan?style=for-the-badge&logo=python&logoColor=white"></a>
</p>
</p>
**Compontents:**
* [SQLite-based storage with caching & automatic commits](https://arichr.github.io/aiogram-magick/2_-_SQLite_storage.html)
## Getting started!
1. Install `aiogram_magick` and dependencies for submodules:
```console
pip install aiogram_magick
# For aiogram_magick.sqlite
pip install aiosqlite jsonpickle
```
2. Import submodules that provide needed functionality ([see examples below](#examples) or [read documentation](https://arichr.github.io/aiogram-magick/))
## Examples
### SQLite storage
```python
from aiogram_magick.sqlite import SqliteStorage
# By default, SqliteStorage is configured to:
# - Commit changes on 30 minute idle and on shutdown;
# - Cache states (up to 20 entries) and data (up to 10 entries);
# - Ignore any exceptions;
# - To avoid file corruptions on shutdown any `sqlite3.OperationalError`s
# are printed using `traceback.print_exception` instead of raised normally.
dp = Dispatcher(storage=SqliteStorage('aiogram.sqlite'))
```
Raw data
{
"_id": null,
"home_page": "https://github.com/arichr/aiogram-magick",
"name": "aiogram-magick",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "aiogram, storage, sqlite, compontents, component, telegram, bot, async, asynchronous, api, messaging",
"author": "Arisu Wonderland",
"author_email": "arisuchr@riseup.net",
"download_url": "https://files.pythonhosted.org/packages/32/3d/66266dea0aa44861a3db516f235d85ee18dd47858701fe25c6f74ddb7fd1/aiogram_magick-0.1.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <h1 align=\"center\">Aiogram Magick</h1>\n <p align=\"center\">\n <a href=\"https://pypi.org/project/aiogram_magick/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/aiogram_magick?style=flat&logo=python&logoColor=white\"></a>\n </p>\n <p align=\"center\">Magick for Aiogram 3.x-based Telegram bots.</p>\n <p align=\"center\">\n <a href=\"https://arichr.github.io/aiogram_magick/\"><img alt=\"Read documentation\" src=\"https://img.shields.io/badge/read-documentation-cyan?style=for-the-badge&logo=python&logoColor=white\"></a>\n </p>\n</p>\n\n**Compontents:**\n\n* [SQLite-based storage with caching & automatic commits](https://arichr.github.io/aiogram-magick/2_-_SQLite_storage.html)\n\n## Getting started!\n\n1. Install `aiogram_magick` and dependencies for submodules:\n```console\npip install aiogram_magick\n\n# For aiogram_magick.sqlite\npip install aiosqlite jsonpickle\n```\n2. Import submodules that provide needed functionality ([see examples below](#examples) or [read documentation](https://arichr.github.io/aiogram-magick/))\n\n## Examples\n\n### SQLite storage\n```python\nfrom aiogram_magick.sqlite import SqliteStorage\n\n# By default, SqliteStorage is configured to:\n# - Commit changes on 30 minute idle and on shutdown;\n# - Cache states (up to 20 entries) and data (up to 10 entries);\n# - Ignore any exceptions;\n# - To avoid file corruptions on shutdown any `sqlite3.OperationalError`s\n# are printed using `traceback.print_exception` instead of raised normally.\ndp = Dispatcher(storage=SqliteStorage('aiogram.sqlite'))\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Magick for Aiogram 3.x-based Telegram bots",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://arichr.github.io/aiogram-magick/",
"Homepage": "https://github.com/arichr/aiogram-magick",
"Repository": "https://github.com/arichr/aiogram-magick"
},
"split_keywords": [
"aiogram",
" storage",
" sqlite",
" compontents",
" component",
" telegram",
" bot",
" async",
" asynchronous",
" api",
" messaging"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a312759d235af3e578d85dc06ab4b65362102bbbc52e702ce632dddef953226c",
"md5": "c604ec48418ce610b2bf50a78c9a3c84",
"sha256": "5d2771863fcbf6af49a5b8b131f87b5aece798fb34a1a39b49797262f3aad80b"
},
"downloads": -1,
"filename": "aiogram_magick-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c604ec48418ce610b2bf50a78c9a3c84",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 5221,
"upload_time": "2024-07-07T21:19:45",
"upload_time_iso_8601": "2024-07-07T21:19:45.715162Z",
"url": "https://files.pythonhosted.org/packages/a3/12/759d235af3e578d85dc06ab4b65362102bbbc52e702ce632dddef953226c/aiogram_magick-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "323d66266dea0aa44861a3db516f235d85ee18dd47858701fe25c6f74ddb7fd1",
"md5": "98709a2a5a0808137ec74fb11c7b5330",
"sha256": "c4c6fadb7469c9165dc03c0e8a363858792e7a5c31adf8b100bc4c90518d9967"
},
"downloads": -1,
"filename": "aiogram_magick-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "98709a2a5a0808137ec74fb11c7b5330",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 4676,
"upload_time": "2024-07-07T21:19:47",
"upload_time_iso_8601": "2024-07-07T21:19:47.405196Z",
"url": "https://files.pythonhosted.org/packages/32/3d/66266dea0aa44861a3db516f235d85ee18dd47858701fe25c6f74ddb7fd1/aiogram_magick-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-07 21:19:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "arichr",
"github_project": "aiogram-magick",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "aiogram-magick"
}