## GredisQL
A GraphQL interface for Redis Database.
## Motivation
1. I was bored, been sick for a while, had to lie on the bed. So I needed to create something.
2. Redis has Web interface ( actually a REST interface), so I urged to build one in GraphQL.
3. There are some pretty amazing GraphQL libraries around python echo system, I wanted to try them.
4. Last but not least, jump into quick coding session, engage and nurture the human mind. LOL
## Design Philosophy
1. All the data `mutation` and `query` are not separated here by action and most probably all the actions are performed via `query` operation.
2. Technically `all` the requests sent to the GraphQL `server` was in `POST`, so I was initially okay with the implementation.
3. `Strawberry-Graphql` is kind of server agnostic so either you can use `ASGI` or `WSGI` counterpart.
4. Currently limiting the implementation with `WSGI` server, but I've plan to adopt `ASGI` in the journey, to support `subscription`.
5. Not `all` Redis commands are found in the implementation, I'll try to cover it in the process.
## Inspiration and Tools I used
1. `redis==5.0.0` is used to communicate with the Redis database.
2. `strawberry-graphql` is used to do the heavy lifting. Also, I tried `ariadne` which is also another cool tool to try with.
## Features and Future Plans
1. [X] String Commands.
2. [X] List Commands.
3. [X] Set Commands.
And many more to come in the future iteration.
## Quick Starting the GraphQL Server
```python
if __name__ == "__main__":
from gredisql.core import Server
server = Server()
server.run()
```
You can specify the `host`, `port` and `debug` mode in while instantiating the `GraphQL` server.
Raw data
{
"_id": null,
"home_page": "https://github.com/sabbiramin113008/gredisql",
"name": "gredisql",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,Database,Redis,GraphQL",
"author": "Sabbir Amin",
"author_email": "sabbiramin.cse11ruet@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/01/21/a872820176e21fe0b19dfdc963a68365f101b0db038b7d5d840763c77c22/gredisql-0.0.8.tar.gz",
"platform": null,
"description": "## GredisQL\nA GraphQL interface for Redis Database. \n\n## Motivation\n1. I was bored, been sick for a while, had to lie on the bed. So I needed to create something. \n2. Redis has Web interface ( actually a REST interface), so I urged to build one in GraphQL. \n3. There are some pretty amazing GraphQL libraries around python echo system, I wanted to try them. \n4. Last but not least, jump into quick coding session, engage and nurture the human mind. LOL\n\n## Design Philosophy\n1. All the data `mutation` and `query` are not separated here by action and most probably all the actions are performed via `query` operation.\n2. Technically `all` the requests sent to the GraphQL `server` was in `POST`, so I was initially okay with the implementation. \n3. `Strawberry-Graphql` is kind of server agnostic so either you can use `ASGI` or `WSGI` counterpart. \n4. Currently limiting the implementation with `WSGI` server, but I've plan to adopt `ASGI` in the journey, to support `subscription`. \n5. Not `all` Redis commands are found in the implementation, I'll try to cover it in the process. \n\n## Inspiration and Tools I used\n1. `redis==5.0.0` is used to communicate with the Redis database. \n2. `strawberry-graphql` is used to do the heavy lifting. Also, I tried `ariadne` which is also another cool tool to try with.\n\n## Features and Future Plans\n1. [X] String Commands.\n2. [X] List Commands. \n3. [X] Set Commands. \n\nAnd many more to come in the future iteration.\n\n## Quick Starting the GraphQL Server\n```python\nif __name__ == \"__main__\":\n from gredisql.core import Server\n\n server = Server()\n server.run()\n```\nYou can specify the `host`, `port` and `debug` mode in while instantiating the `GraphQL` server. \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A GraphQL interface for Redis Database.",
"version": "0.0.8",
"project_urls": {
"Homepage": "https://github.com/sabbiramin113008/gredisql"
},
"split_keywords": [
"python",
"database",
"redis",
"graphql"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "138f3545462b5677076b90ca137c05a49956d16ff48530475078e4b1e894865e",
"md5": "b6e25fce0a0875d82d2c8652650016f7",
"sha256": "68e0fd86ca8757ab4b74001c97306b80beaba2a5d061f411411aebfdbcb195bd"
},
"downloads": -1,
"filename": "gredisql-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b6e25fce0a0875d82d2c8652650016f7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4823,
"upload_time": "2023-09-03T10:54:32",
"upload_time_iso_8601": "2023-09-03T10:54:32.409652Z",
"url": "https://files.pythonhosted.org/packages/13/8f/3545462b5677076b90ca137c05a49956d16ff48530475078e4b1e894865e/gredisql-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0121a872820176e21fe0b19dfdc963a68365f101b0db038b7d5d840763c77c22",
"md5": "31d1c6fca86d81d22f6a193ed6ce686f",
"sha256": "d64728c8dea05ec49f6c0c69a814a0ccdc9f4b3f354517e0505bc471147bfa6a"
},
"downloads": -1,
"filename": "gredisql-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "31d1c6fca86d81d22f6a193ed6ce686f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4581,
"upload_time": "2023-09-03T10:54:35",
"upload_time_iso_8601": "2023-09-03T10:54:35.119448Z",
"url": "https://files.pythonhosted.org/packages/01/21/a872820176e21fe0b19dfdc963a68365f101b0db038b7d5d840763c77c22/gredisql-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-03 10:54:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sabbiramin113008",
"github_project": "gredisql",
"github_not_found": true,
"lcname": "gredisql"
}