🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

quart-redis

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

quart-redis

A easy way of setting up a redis in quart

3.0.0
PyPI
Maintainers
1

Quart-Redis

Documentation Status PyPI PyPI - Python Version PyPI - Downloads GitHub GitHub issues GitHub last commit

An easy way of setting up a redis connection in quart.

View the docs here.

Requirements

  • quart ~= 0.20
  • redis >= 5.2.1, < 6

Example

# file: app.py
from quart import Quart
from quart_redis import RedisHandler, get_redis

app = Quart(__name__)
app.config["REDIS_URI"] = "redis://localhost"
# override default connection attempts, set < 0 to disable
# app.config["REDIS_CONN_ATTEMPTS"] = 3
redis_handler = RedisHandler(app)

@app.route("/")
async def index():
    redis = get_redis()

    val = await redis.get("my-key")

    if val is None:
        await redis.set("my-key", "it works!")
        val = await redis.get("my-key")

    return val

Testing

Due to quart_redis using before_serving and after_serving, using the Quart test_client requires the use of test_app. Pytest example shown below:

# file: test.py
import pytest
from app import app

@pytest.fixture(name="my_app", scope="function")
async def _my_app():
    async with app.test_app() as test_app:
        yield test_app

async def test_redis(my_app):
    async with my_app.test_client() as client:
        result = await client.get("/")
        assert result == b"it works!"

Faking Redis

For development and testing, you may not have a running Redis instance. In this case, the fakeredis package may be installed and then used instead of actual redis by setting USE_FAKE_REDIS environment variable to true at runtime.

Keywords

quart

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts