{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "label": "redis.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L1"}, {"id": "redis_redisstorage", "label": "RedisStorage", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L25"}, {"id": "storage", "label": "Storage", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "movingwindowsupport", "label": "MovingWindowSupport", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "slidingwindowcountersupport", "label": "SlidingWindowCounterSupport", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "redis_redisstorage_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L67"}, {"id": "redis_base_exceptions", "label": "base_exceptions()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L114"}, {"id": "redis_redisstorage_initialize_storage", "label": ".initialize_storage()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L123"}, {"id": "redis_redisstorage_get_connection", "label": ".get_connection()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L143"}, {"id": "redis_redisstorage_current_window_key", "label": "._current_window_key()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L146"}, {"id": "redis_redisstorage_previous_window_key", "label": "._previous_window_key()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L159"}, {"id": "redis_redisstorage_prefixed_key", "label": ".prefixed_key()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L170"}, {"id": "redis_redisstorage_get_moving_window", "label": ".get_moving_window()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L173"}, {"id": "redis_redisstorage_get_sliding_window", "label": ".get_sliding_window()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L189"}, {"id": "redis_redisstorage_clear_sliding_window", "label": ".clear_sliding_window()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L203"}, {"id": "redis_redisstorage_incr", "label": ".incr()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L209"}, {"id": "redis_redisstorage_get", "label": ".get()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L226"}, {"id": "redis_redisstorage_clear", "label": ".clear()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L235"}, {"id": "redis_redisstorage_acquire_entry", "label": ".acquire_entry()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L242"}, {"id": "redis_redisstorage_acquire_sliding_window_entry", "label": ".acquire_sliding_window_entry()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L264"}, {"id": "redis_redisstorage_get_expiry", "label": ".get_expiry()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L286"}, {"id": "redis_redisstorage_check", "label": ".check()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L295"}, {"id": "redis_redisstorage_reset", "label": ".reset()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L304"}, {"id": "redis_rationale_26", "label": "Rate limit storage with redis as backend. Depends on :pypi:`redis` (or :pyp", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L26"}, {"id": "redis_rationale_75", "label": ":param uri: uri of the form ``redis://[:password]@host:port``, ``redis:", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L75"}, {"id": "redis_rationale_147", "label": "Return the current window's storage key (Sliding window strategy) Contr", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L147"}, {"id": "redis_rationale_160", "label": "Return the previous window's storage key (Sliding window strategy). Cur", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L160"}, {"id": "redis_rationale_174", "label": "returns the starting point and the number of entries in the moving windo", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L174"}, {"id": "redis_rationale_215", "label": "increments the counter for a given rate limit key :param key: the key", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L215"}, {"id": "redis_rationale_227", "label": ":param key: the key to get the counter value for", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L227"}, {"id": "redis_rationale_236", "label": ":param key: the key to clear rate limits for", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L236"}, {"id": "redis_rationale_249", "label": ":param key: rate limit key to acquire an entry in :param limit: amount o", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L249"}, {"id": "redis_rationale_271", "label": "Acquire an entry. Shift the current window to the previous window if it expired.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L271"}, {"id": "redis_rationale_287", "label": ":param key: the key to get the expiry for", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L287"}, {"id": "redis_rationale_296", "label": "check if storage is healthy", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L296"}, {"id": "redis_rationale_305", "label": "This function calls a Lua Script to delete keys prefixed with :paramref:", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L305"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "time", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L3", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L4", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "deprecated_sphinx", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "packaging_version", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L7", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "limits_typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "backend_venv_lib_python3_12_site_packages_limits_util_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "backend_venv_lib_python3_12_site_packages_limits_storage_base_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "redis", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L15", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "redis_redisstorage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L25", "weight": 1.0}, {"source": "redis_redisstorage", "target": "storage", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L25", "weight": 1.0}, {"source": "redis_redisstorage", "target": "movingwindowsupport", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L25", "weight": 1.0}, {"source": "redis_redisstorage", "target": "slidingwindowcountersupport", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L25", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L67", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_storage_redis_py", "target": "redis_base_exceptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L114", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_initialize_storage", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L123", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_get_connection", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L143", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_current_window_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L146", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_previous_window_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L159", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_prefixed_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L170", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_get_moving_window", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L173", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_get_sliding_window", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L189", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_clear_sliding_window", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L203", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_incr", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L209", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L226", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_clear", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L235", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_acquire_entry", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L242", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_acquire_sliding_window_entry", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L264", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_get_expiry", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L286", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_check", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L295", "weight": 1.0}, {"source": "redis_redisstorage", "target": "redis_redisstorage_reset", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L304", "weight": 1.0}, {"source": "redis_redisstorage_init", "target": "redis_redisstorage_initialize_storage", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L111", "weight": 1.0}, {"source": "redis_redisstorage_initialize_storage", "target": "redis_redisstorage_get_connection", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L124", "weight": 1.0}, {"source": "redis_redisstorage_previous_window_key", "target": "redis_redisstorage_current_window_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L168", "weight": 1.0}, {"source": "redis_redisstorage_get_moving_window", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L182", "weight": 1.0}, {"source": "redis_redisstorage_get_sliding_window", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L192", "weight": 1.0}, {"source": "redis_redisstorage_get_sliding_window", "target": "redis_redisstorage_previous_window_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L192", "weight": 1.0}, {"source": "redis_redisstorage_get_sliding_window", "target": "redis_redisstorage_current_window_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L193", "weight": 1.0}, {"source": "redis_redisstorage_clear_sliding_window", "target": "redis_redisstorage_previous_window_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L204", "weight": 1.0}, {"source": "redis_redisstorage_clear_sliding_window", "target": "redis_redisstorage_current_window_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L205", "weight": 1.0}, {"source": "redis_redisstorage_clear_sliding_window", "target": "redis_redisstorage_clear", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L206", "weight": 1.0}, {"source": "redis_redisstorage_incr", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L223", "weight": 1.0}, {"source": "redis_redisstorage_get", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L232", "weight": 1.0}, {"source": "redis_redisstorage_get", "target": "redis_redisstorage_get_connection", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L233", "weight": 1.0}, {"source": "redis_redisstorage_clear", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L239", "weight": 1.0}, {"source": "redis_redisstorage_clear", "target": "redis_redisstorage_get_connection", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L240", "weight": 1.0}, {"source": "redis_redisstorage_acquire_entry", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L256", "weight": 1.0}, {"source": "redis_redisstorage_acquire_sliding_window_entry", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L279", "weight": 1.0}, {"source": "redis_redisstorage_acquire_sliding_window_entry", "target": "redis_redisstorage_previous_window_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L279", "weight": 1.0}, {"source": "redis_redisstorage_acquire_sliding_window_entry", "target": "redis_redisstorage_current_window_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L280", "weight": 1.0}, {"source": "redis_redisstorage_get_expiry", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L292", "weight": 1.0}, {"source": "redis_redisstorage_get_expiry", "target": "redis_redisstorage_get_connection", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L293", "weight": 1.0}, {"source": "redis_redisstorage_check", "target": "redis_redisstorage_get_connection", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L300", "weight": 1.0}, {"source": "redis_redisstorage_reset", "target": "redis_redisstorage_prefixed_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L316", "weight": 1.0}, {"source": "redis_rationale_26", "target": "redis_redisstorage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L26", "weight": 1.0}, {"source": "redis_rationale_75", "target": "redis_redisstorage_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L75", "weight": 1.0}, {"source": "redis_rationale_147", "target": "redis_redisstorage_current_window_key", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L147", "weight": 1.0}, {"source": "redis_rationale_160", "target": "redis_redisstorage_previous_window_key", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L160", "weight": 1.0}, {"source": "redis_rationale_174", "target": "redis_redisstorage_get_moving_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L174", "weight": 1.0}, {"source": "redis_rationale_215", "target": "redis_redisstorage_incr", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L215", "weight": 1.0}, {"source": "redis_rationale_227", "target": "redis_redisstorage_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L227", "weight": 1.0}, {"source": "redis_rationale_236", "target": "redis_redisstorage_clear", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L236", "weight": 1.0}, {"source": "redis_rationale_249", "target": "redis_redisstorage_acquire_entry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L249", "weight": 1.0}, {"source": "redis_rationale_271", "target": "redis_redisstorage_acquire_sliding_window_entry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L271", "weight": 1.0}, {"source": "redis_rationale_287", "target": "redis_redisstorage_get_expiry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L287", "weight": 1.0}, {"source": "redis_rationale_296", "target": "redis_redisstorage_check", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L296", "weight": 1.0}, {"source": "redis_rationale_305", "target": "redis_redisstorage_reset", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L305", "weight": 1.0}], "raw_calls": [{"caller_nid": "redis_redisstorage_init", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L93"}, {"caller_nid": "redis_redisstorage_init", "callee": "startswith", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L95"}, {"caller_nid": "redis_redisstorage_init", "callee": "replace", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L98"}, {"caller_nid": "redis_redisstorage_init", "callee": "from_url", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L101"}, {"caller_nid": "redis_redisstorage_init", "callee": "Redis", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L104"}, {"caller_nid": "redis_redisstorage_init", "callee": "Valkey", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L108"}, {"caller_nid": "redis_redisstorage_initialize_storage", "callee": "register_script", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L124"}, {"caller_nid": "redis_redisstorage_initialize_storage", "callee": "register_script", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L127"}, {"caller_nid": "redis_redisstorage_initialize_storage", "callee": "register_script", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L130"}, {"caller_nid": "redis_redisstorage_initialize_storage", "callee": "register_script", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L133"}, {"caller_nid": "redis_redisstorage_initialize_storage", "callee": "register_script", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L136"}, {"caller_nid": "redis_redisstorage_initialize_storage", "callee": "register_script", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L139"}, {"caller_nid": "redis_redisstorage_get_connection", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L144"}, {"caller_nid": "redis_redisstorage_get_moving_window", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L183"}, {"caller_nid": "redis_redisstorage_get_moving_window", "callee": "lua_moving_window", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L184"}, {"caller_nid": "redis_redisstorage_get_moving_window", "callee": "float", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L185"}, {"caller_nid": "redis_redisstorage_get_sliding_window", "callee": "lua_sliding_window", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L194"}, {"caller_nid": "redis_redisstorage_get_sliding_window", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L196"}, {"caller_nid": "redis_redisstorage_get_sliding_window", "callee": "max", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L197"}, {"caller_nid": "redis_redisstorage_get_sliding_window", "callee": "float", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L197"}, {"caller_nid": "redis_redisstorage_get_sliding_window", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L198"}, {"caller_nid": "redis_redisstorage_get_sliding_window", "callee": "max", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L199"}, {"caller_nid": "redis_redisstorage_get_sliding_window", "callee": "float", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L199"}, {"caller_nid": "redis_redisstorage_incr", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L224"}, {"caller_nid": "redis_redisstorage_incr", "callee": "lua_incr_expire", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L224"}, {"caller_nid": "redis_redisstorage_get", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L233"}, {"caller_nid": "redis_redisstorage_clear", "callee": "delete", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L240"}, {"caller_nid": "redis_redisstorage_acquire_entry", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L257"}, {"caller_nid": "redis_redisstorage_acquire_entry", "callee": "lua_acquire_moving_window", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L258"}, {"caller_nid": "redis_redisstorage_acquire_entry", "callee": "bool", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L262"}, {"caller_nid": "redis_redisstorage_acquire_sliding_window_entry", "callee": "lua_acquire_sliding_window", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L281"}, {"caller_nid": "redis_redisstorage_acquire_sliding_window_entry", "callee": "bool", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L284"}, {"caller_nid": "redis_redisstorage_get_expiry", "callee": "max", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L293"}, {"caller_nid": "redis_redisstorage_get_expiry", "callee": "ttl", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L293"}, {"caller_nid": "redis_redisstorage_get_expiry", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L293"}, {"caller_nid": "redis_redisstorage_check", "callee": "ping", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L300"}, {"caller_nid": "redis_redisstorage_reset", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L317"}, {"caller_nid": "redis_redisstorage_reset", "callee": "lua_clear_keys", "source_file": "backend/venv/lib/python3.12/site-packages/limits/storage/redis.py", "source_location": "L317"}]}