A GraphQL interface for Redis Database.
pip install gredisql
If you find this project interesting, you can always appreciate it by giving it a Star. :D
- I was bored, been sick for a while, had to lie on the bed. So I needed to create something.
- Redis has Web interface ( actually a REST interface), so I urged to build one in GraphQL.
- There are some pretty amazing GraphQL libraries around python echo system, I wanted to try them.
- Last but not least, jump into quick coding session, engage and nurture the human mind. LOL
- All the data
mutation
andquery
are not separated here by action and most probably all the actions are performed viaquery
operation. - Technically
all
the requests sent to the GraphQLserver
was inPOST
, so I was initially okay with the implementation. Strawberry-Graphql
is kind of server agnostic so either you can useASGI
orWSGI
counterpart.- Currently limiting the implementation with
WSGI
server, but I've plan to adoptASGI
in the journey, to supportsubscription
. - Not
all
Redis commands are found in the implementation, I'll try to cover it in the process.
redis==5.0.0
is used to communicate with the Redis database.strawberry-graphql
is used to do the heavy lifting. Also, I triedariadne
which is also another cool tool to try with.
- String Commands.
- List Commands.
- Set Commands.
And many more to come in the future iteration.
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.
Simply write,
if __name__ == "__main__":
REDIS_HOST = 'redis-4343.c8.us-east-1-4.ec2.cloud.redislabs.com'
REDIS_PORT = 16292
REDIS_PASSWORD = 'your-secret-password'
from gredisql.core import Server
server = Server(
REDIS_HOST=REDIS_HOST,
REDIS_PORT=REDIS_PORT,
REDIS_PASSWORD=REDIS_PASSWORD
)
server.run()
Now navigate to http://localhost:5055/graphql
and voilà.