AI Slop Code RIsk Monitor

redis/redis-py

Redis Python client

26.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for redis/redis-py, a Python project with 13,646 GitHub stars. SynthScan examined 227,092 lines of code across 389 source files, recording 5479 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 26.2 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

26.2
Adjusted Signal
26.2
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
13.6K
Stars
Python
Language
227.1K
Lines of Code
389
Files
5.5K
Pattern Hits
2026-10-12
Scan Date
0.85
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 56.7/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 4623 finding(s).

Hallucinated Dependency & Supply Chain Risk 4.0/100 · LOW

Are imports declared and package/API names verified? 189 finding(s).

Agent Over-Engineering Ratio 67.2/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 4751 finding(s).

PR Review Velocity Impact 80.4/100 · CRITICAL

Which changes need focused human review? 5479 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 2HIGH 329MEDIUM 131LOW 5017

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 5479 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers3991 hits · 3038 pts
SeverityFileLineSnippetContext
LOWtasks.py14def _ensure_junit_results_dir():CODE
LOWtasks.py183def multidb_integration_tests(c, uvloop=False, profile=False):CODE
LOWredis/ocsp.py251 def components_from_direct_connection(self):CODE
LOWredis/keyspace_notifications.py223def _parse_length_prefixed_subkeys(s: bytes | str) -> list[str]:CODE
LOWredis/keyspace_notifications.py1121 def subscribe_subkeyspaceitem(CODE
LOWredis/keyspace_notifications.py1132 def subscribe_subkeyspaceevent(CODE
LOWredis/keyspace_notifications.py1436 def subscribe_subkeyspaceitem(CODE
LOWredis/keyspace_notifications.py1458 def subscribe_subkeyspaceevent(CODE
LOWredis/keyspace_notifications.py1937 def _unsubscribe_from_all_nodes(self, channels: list[str], use_punsubscribe: bool):CODE
LOWredis/keyspace_notifications.py2108 def _refresh_subscriptions_on_error(self):CODE
LOWredis/client.py120def add_debug_log_for_operation_failure(CODE
LOWredis/client.py830 def _send_command_parse_response(self, conn, command_name, *args, **options):CODE
LOWredis/client.py857 def _himport_reconcile_discards(self, conn):CODE
LOWredis/client.py1224 def _resubscribe_shard_channels(self) -> None:CODE
LOWredis/client.py1270 def clean_health_check_responses(self) -> None:CODE
LOWredis/client.py1956 def _disconnect_reset_raise_on_watching(CODE
LOWredis/client.py1995 def immediate_execute_command(self, *args, **options):CODE
LOWredis/client.py2067 def _himport_prepare_pipeline(self, conn, commands):CODE
LOWredis/client.py2218 def _disconnect_raise_on_watching(CODE
LOWredis/background.py198 def _ensure_health_check_loop(self, timeout: float = 5.0):CODE
LOWredis/background.py281 def _call_later_recurring_coro(CODE
LOWredis/background.py469def _start_event_loop_in_thread(CODE
LOWredis/driver_info.py11def _validate_no_invalid_chars(value: str, field_name: str) -> None:CODE
LOWredis/_defaults.py12def get_default_socket_keepalive_options() -> dict[int, int]:CODE
LOW⚡redis/connection.py964 def add_maint_start_notification(self, id: int):CODE
LOW⚡redis/connection.py967 def get_processed_start_notifications(self) -> set:CODE
LOW⚡redis/connection.py970 def add_skipped_end_notification(self, id: int):CODE
LOW⚡redis/connection.py973 def get_skipped_end_notifications(self) -> set:CODE
LOW⚡redis/connection.py976 def reset_received_notifications(self):CODE
LOW⚡redis/connection.py1229 def _construct_command_packer(self, packer):CODE
LOW⚡redis/connection.py1238 def register_connect_callback(self, callback):CODE
LOW⚡redis/connection.py2099 def register_connect_callback(self, callback):CODE
LOW⚡redis/connection.py2102 def deregister_connect_callback(self, callback):CODE
LOW⚡redis/connection.py2108 def set_maint_notifications_pool_handler_for_connection(CODE
LOW⚡redis/connection.py2116 def set_maint_notifications_cluster_handler_for_connection(CODE
LOWredis/connection.py147def add_debug_log_for_connection_failure(CODE
LOWredis/connection.py262 def register_connect_callback(self, callback):CODE
LOWredis/connection.py266 def deregister_connect_callback(self, callback):CODE
LOWredis/connection.py362 def extract_connection_details(self) -> str:CODE
LOWredis/connection.py441 def _get_push_notifications_parser(self) -> Union[_HiredisParser, _RESP3Parser]:CODE
LOWredis/connection.py449 def _complete_maintenance_on_disconnect(self) -> None:CODE
LOWredis/connection.py478 def handle_pending_push_notifications(self) -> None:CODE
LOWredis/connection.py638 def _configure_maintenance_notifications(CODE
LOWredis/connection.py728 def set_maint_notifications_pool_handler_for_connection(CODE
LOWredis/connection.py762 def set_maint_notifications_cluster_handler_for_connection(CODE
LOWredis/connection.py794 def _should_enable_maint_notifications(self) -> bool:CODE
LOWredis/connection.py807 def activate_maint_notifications_handling_if_enabled(self, check_health=True):CODE
LOWredis/connection.py817 def _enable_maintenance_notifications(CODE
LOWredis/connection.py830 def _maint_notifications_command_args(CODE
LOWredis/connection.py848 def _send_maint_notifications_command(CODE
LOWredis/connection.py856 def _add_maint_notifications_to_handshake(self, deferred_reads, check_health=True):CODE
LOWredis/connection.py874 def _handle_maint_notifications_response(CODE
LOWredis/connection.py989 def update_current_socket_timeout(self, relaxed_timeout: Optional[float] = None):CODE
LOWredis/connection.py1250 def deregister_connect_callback(self, callback):CODE
LOWredis/connection.py1803 def extract_connection_details(self) -> str:CODE
LOWredis/connection.py2525 def _refuse_cache_owned_command(args) -> None:CODE
LOWredis/connection.py2583 def _himport_reconciled_revision(self):CODE
LOWredis/connection.py2587 def _himport_reconciled_revision(self, value):CODE
LOWredis/connection.py2634 def _maint_notifications_connection_handler(CODE
LOWredis/connection.py2641 def _maint_notifications_connection_handler(CODE
3931 more matches not shown…
Empty Error Handlers220 hits · 1095 pts
SeverityFileLineSnippetContext
HIGHdoctests/home_json.py50except redis.exceptions.ResponseError:CODE
HIGHdoctests/home_json.py138except redis.exceptions.ResponseError:CODE
HIGHdoctests/search_quickstart.py24except Exception:CODE
HIGHdoctests/geo_index.py12except redis.exceptions.ResponseError:CODE
HIGHdoctests/geo_index.py17except redis.exceptions.ResponseError:CODE
HIGHredis/_himport_exec.py151except ResponseError:CODE
HIGHredis/keyspace_notifications.py1761except Exception:CODE
HIGHredis/keyspace_notifications.py1865except Exception:CODE
HIGHredis/client.py812except Exception:CODE
HIGHredis/client.py1196except Exception:CODE
HIGHredis/client.py1900except Exception:CODE
HIGHredis/background.py456except Exception:CODE
HIGHredis/background.py493except Exception:CODE
HIGHredis/background.py276except Exception:CODE
HIGHredis/background.py252except Exception:CODE
HIGHredis/cache.py383except UnicodeDecodeError:CODE
HIGHredis/connection.py903except ResponseError:CODE
HIGHredis/connection.py930except (AttributeError, OSError):CODE
HIGHredis/connection.py950except (AttributeError, OSError, socket.gaierror):CODE
HIGHredis/connection.py1222except Exception:CODE
HIGHredis/connection.py1258except ValueError:CODE
HIGHredis/connection.py1533except OSError:CODE
HIGHredis/connection.py1830except (AttributeError, OSError):CODE
HIGHredis/connection.py4040except Exception:CODE
HIGHredis/connection.py4502except Exception:CODE
HIGHredis/connection.py1528except (OSError, TypeError):CODE
HIGHredis/connection.py3139except (AttributeError, ValueError):CODE
HIGHredis/connection.py4690except Full:CODE
HIGHredis/connection.py3018except OSError:CODE
HIGHredis/connection.py4460except Exception:CODE
HIGHredis/connection.py4527except Exception:CODE
HIGHredis/connection.py4587except Exception:CODE
HIGHredis/connection.py4696except Exception:CODE
HIGHredis/connection.py4721except Exception:CODE
HIGHredis/connection.py4659except ValueError:CODE
HIGHredis/connection.py1953except OSError:CODE
HIGHredis/connection.py4579except Full:CODE
HIGHredis/cluster.py1087except Exception:CODE
HIGHredis/cluster.py2308except AttributeError:CODE
HIGHredis/cluster.py3164except TypeError:CODE
HIGHredis/cluster.py3613except Exception:CODE
HIGHredis/cluster.py4608except Exception:CODE
HIGHredis/cluster.py1095except OSError:CODE
HIGHredis/cluster.py4397except Exception:CODE
HIGHredis/sentinel.py142except MasterNotFoundError:CODE
HIGHredis/maint_notifications.py725except ValueError:CODE
HIGHredis/maint_notifications.py742except ValueError:CODE
HIGHredis/multidb/client.py101except Exception:CODE
HIGHredis/multidb/client.py561except Exception:CODE
HIGHredis/multidb/client.py651except Exception:CODE
HIGHredis/multidb/client.py529except Exception:CODE
HIGHredis/observability/recorder.py111except Exception:CODE
HIGHredis/observability/recorder.py145except Exception:CODE
HIGHredis/observability/recorder.py190except Exception:CODE
HIGHredis/observability/recorder.py221except Exception:CODE
HIGHredis/observability/recorder.py255except Exception:CODE
HIGHredis/observability/recorder.py282except Exception:CODE
HIGHredis/observability/recorder.py314except Exception:CODE
HIGHredis/observability/recorder.py344except Exception:CODE
HIGHredis/observability/recorder.py377except Exception:CODE
160 more matches not shown…
Cross-File Repetition97 hits · 485 pts
SeverityFileLineSnippetContext
HIGHredis/client.py0return a connection pool configured from the given url. for example:: redis://[[username]:[password]]@localhost:6379/0 rSTRING
HIGHredis/cluster.py0return a connection pool configured from the given url. for example:: redis://[[username]:[password]]@localhost:6379/0 rSTRING
HIGHredis/asyncio/client.py0return a connection pool configured from the given url. for example:: redis://[[username]:[password]]@localhost:6379/0 rSTRING
HIGHredis/connection.py0return a connection pool configured from the given url. for example:: redis://[[username]:[password]]@localhost:6379/0 rSTRING
HIGHredis/asyncio/connection.py0return a connection pool configured from the given url. for example:: redis://[[username]:[password]]@localhost:6379/0 rSTRING
HIGHredis/client.py0convenience method for executing the callable `func` as a transaction while watching all keys specified in `watches`. thSTRING
HIGHredis/cluster.py0convenience method for executing the callable `func` as a transaction while watching all keys specified in `watches`. thSTRING
HIGHredis/asyncio/client.py0convenience method for executing the callable `func` as a transaction while watching all keys specified in `watches`. thSTRING
HIGHredis/asyncio/cluster.py0convenience method for executing the callable `func` as a transaction while watching all keys specified in `watches`. thSTRING
HIGHredis/client.py0create a new lock instance named ``name`` using the redis client supplied by ``redis``. ``timeout`` indicates a maximum STRING
HIGHredis/cluster.py0create a new lock instance named ``name`` using the redis client supplied by ``redis``. ``timeout`` indicates a maximum STRING
HIGHredis/asyncio/client.py0create a new lock instance named ``name`` using the redis client supplied by ``redis``. ``timeout`` indicates a maximum STRING
HIGHredis/asyncio/cluster.py0create a new lock instance named ``name`` using the redis client supplied by ``redis``. ``timeout`` indicates a maximum STRING
HIGHredis/lock.py0create a new lock instance named ``name`` using the redis client supplied by ``redis``. ``timeout`` indicates a maximum STRING
HIGHredis/asyncio/lock.py0create a new lock instance named ``name`` using the redis client supplied by ``redis``. ``timeout`` indicates a maximum STRING
HIGHredis/client.py0return a publish/subscribe object. with this object, you can subscribe to channels and listen for messages that get publSTRING
HIGHredis/multidb/client.py0return a publish/subscribe object. with this object, you can subscribe to channels and listen for messages that get publSTRING
HIGHredis/asyncio/client.py0return a publish/subscribe object. with this object, you can subscribe to channels and listen for messages that get publSTRING
HIGHredis/asyncio/multidb/client.py0return a publish/subscribe object. with this object, you can subscribe to channels and listen for messages that get publSTRING
HIGHredis/client.py0unsubscribe from the supplied patterns. if empty, unsubscribe from all patterns.STRING
HIGHredis/multidb/client.py0unsubscribe from the supplied patterns. if empty, unsubscribe from all patterns.STRING
HIGHredis/asyncio/client.py0unsubscribe from the supplied patterns. if empty, unsubscribe from all patterns.STRING
HIGHredis/asyncio/multidb/client.py0unsubscribe from the supplied patterns. if empty, unsubscribe from all patterns.STRING
HIGHredis/client.py0unsubscribe from the supplied channels. if empty, unsubscribe from all channelsSTRING
HIGHredis/multidb/client.py0unsubscribe from the supplied channels. if empty, unsubscribe from all channelsSTRING
HIGHredis/asyncio/client.py0unsubscribe from the supplied channels. if empty, unsubscribe from all channelsSTRING
HIGHredis/asyncio/multidb/client.py0unsubscribe from the supplied channels. if empty, unsubscribe from all channelsSTRING
HIGHredis/client.py0unsubscribe from the supplied shard_channels. if empty, unsubscribe from all shard_channelsSTRING
HIGHredis/multidb/client.py0unsubscribe from the supplied shard_channels. if empty, unsubscribe from all shard_channelsSTRING
HIGHredis/asyncio/client.py0unsubscribe from the supplied shard_channels. if empty, unsubscribe from all shard_channelsSTRING
HIGHredis/client.py0get the next message if one is available, otherwise none. if timeout is specified, the system will wait for `timeout` seSTRING
HIGHredis/multidb/client.py0get the next message if one is available, otherwise none. if timeout is specified, the system will wait for `timeout` seSTRING
HIGHredis/asyncio/client.py0get the next message if one is available, otherwise none. if timeout is specified, the system will wait for `timeout` seSTRING
HIGHredis/asyncio/multidb/client.py0get the next message if one is available, otherwise none. if timeout is specified, the system will wait for `timeout` seSTRING
HIGHredis/client.py0start a transactional block of the pipeline after watch commands are issued. end the transactional block with `execute`.STRING
HIGHredis/cluster.py0start a transactional block of the pipeline after watch commands are issued. end the transactional block with `execute`.STRING
HIGHredis/asyncio/client.py0start a transactional block of the pipeline after watch commands are issued. end the transactional block with `execute`.STRING
HIGHredis/asyncio/cluster.py0start a transactional block of the pipeline after watch commands are issued. end the transactional block with `execute`.STRING
HIGHredis/client.py0stage a command to be executed when execute() is next called returns the current pipeline object back so commands can beSTRING
HIGHredis/cluster.py0stage a command to be executed when execute() is next called returns the current pipeline object back so commands can beSTRING
HIGHredis/multidb/client.py0stage a command to be executed when execute() is next called returns the current pipeline object back so commands can beSTRING
HIGHredis/asyncio/client.py0stage a command to be executed when execute() is next called returns the current pipeline object back so commands can beSTRING
HIGHredis/asyncio/multidb/client.py0stage a command to be executed when execute() is next called returns the current pipeline object back so commands can beSTRING
HIGHredis/connection.py0update the connection kwargs for all future connections.STRING
HIGHredis/cluster.py0update the connection kwargs for all future connections.STRING
HIGHredis/asyncio/connection.py0update the connection kwargs for all future connections.STRING
HIGHredis/connection.py0dummy functions, needs to be passed as error callback to retry object. :param error: :return:STRING
HIGHredis/asyncio/connection.py0dummy functions, needs to be passed as error callback to retry object. :param error: :return:STRING
HIGHredis/asyncio/cluster.py0dummy functions, needs to be passed as error callback to retry object. :param error: :return:STRING
HIGHredis/cluster.py0the client's himport fieldset registry (empty if none was declared). read-only: the registry is mutated only through theSTRING
HIGHredis/asyncio/cluster.py0the client's himport fieldset registry (empty if none was declared). read-only: the registry is mutated only through theSTRING
HIGHredis/asyncio/client.py0the client's himport fieldset registry (empty if none was declared). read-only: the registry is mutated only through theSTRING
HIGHredis/observability/metrics.py0record a geo failover. args: fail_from: database failed from fail_to: database failed to reason: reason for the failoverSTRING
HIGHredis/observability/recorder.py0record a geo failover. args: fail_from: database failed from fail_to: database failed to reason: reason for the failoverSTRING
HIGHredis/asyncio/observability/recorder.py0record a geo failover. args: fail_from: database failed from fail_to: database failed to reason: reason for the failoverSTRING
HIGHredis/observability/metrics.py0record the lag of a streaming message. args: lag_seconds: lag in seconds stream_name: stream name consumer_group: consumSTRING
HIGHredis/observability/recorder.py0record the lag of a streaming message. args: lag_seconds: lag in seconds stream_name: stream name consumer_group: consumSTRING
HIGHredis/asyncio/observability/recorder.py0record the lag of a streaming message. args: lag_seconds: lag in seconds stream_name: stream name consumer_group: consumSTRING
HIGHtests/test_pubsub.py0create a mock meter that tracks all instrument calls.STRING
HIGHtests/test_cluster.py0create a mock meter that tracks all instrument calls.STRING
37 more matches not shown…
Excessive Try-Catch Wrapping258 hits · 215 pts
SeverityFileLineSnippetContext
LOWdoctests/query_em.py48except Exception:CODE
LOWdoctests/query_em.py56except Exception:CODE
LOWdoctests/query_em.py92except Exception:CODE
LOWdoctests/search_quickstart.py24except Exception:CODE
LOW⚡redis/keyspace_notifications.py1761 except Exception:CODE
LOWredis/keyspace_notifications.py1865 except Exception:CODE
LOWredis/keyspace_notifications.py1915 except Exception:CODE
LOWredis/keyspace_notifications.py1953 except Exception:CODE
LOWredis/keyspace_notifications.py2119 except Exception:CODE
LOWredis/keyspace_notifications.py2132 except Exception:CODE
LOWredis/keyspace_notifications.py2183 except Exception:CODE
MEDIUMredis/client.py809def __del__(self):CODE
MEDIUMredis/client.py1190def __del__(self) -> None:CODE
MEDIUMredis/client.py1897def __del__(self):CODE
LOWredis/client.py812 except Exception:CODE
LOWredis/client.py941 except Exception as e:CODE
LOWredis/client.py1196 except Exception:CODE
LOWredis/client.py1361 except Exception as e:CODE
LOWredis/client.py1900 except Exception:CODE
LOWredis/client.py2040 except Exception as e:CODE
LOWredis/client.py2303 except Exception as e:CODE
LOWredis/background.py252 except Exception:CODE
LOWredis/background.py276 except Exception:CODE
LOWredis/background.py342 except Exception:CODE
LOWredis/background.py408 except Exception:CODE
LOWredis/background.py456 except Exception:CODE
LOWredis/background.py493 except Exception:CODE
MEDIUMredis/connection.py1219def __del__(self):CODE
LOW⚡redis/connection.py1222 except Exception:CODE
LOWredis/connection.py569 except Exception as e:CODE
LOWredis/connection.py883 except Exception as e:CODE
LOWredis/connection.py4040 except Exception:CODE
LOWredis/connection.py4460 except Exception:CODE
LOWredis/connection.py4502 except Exception:CODE
LOWredis/connection.py4527 except Exception:CODE
LOWredis/connection.py4587 except Exception:CODE
LOWredis/connection.py4696 except Exception:CODE
LOWredis/connection.py4721 except Exception:CODE
MEDIUMredis/cluster.py1084def __del__(self):CODE
MEDIUMredis/cluster.py2303def close(self) -> None:CODE
MEDIUMredis/cluster.py3498def _get_node_pubsub(self, node):CODE
MEDIUMredis/cluster.py4605def __del__(self):CODE
LOWredis/cluster.py1087 except Exception:CODE
LOWredis/cluster.py1847 except Exception as e:CODE
LOWredis/cluster.py2227 except Exception as e:CODE
LOWredis/cluster.py2636 except Exception as exc:CODE
LOWredis/cluster.py3014 except Exception as e:CODE
LOWredis/cluster.py3146 except Exception as e:CODE
LOWredis/cluster.py3225 except Exception as e:CODE
LOWredis/cluster.py3613 except Exception:CODE
LOWredis/cluster.py3954 except Exception as exc:CODE
LOWredis/cluster.py4397 except Exception:CODE
LOWredis/cluster.py4608 except Exception:CODE
LOWredis/cluster.py5697 except Exception as e:CODE
LOWredis/sentinel.py331 except Exception as e:CODE
LOWredis/maint_notifications.py812 except Exception:CODE
LOWredis/auth/token_manager.py317 except Exception as e:CODE
LOWredis/auth/token_manager.py327 except Exception as e:CODE
LOWredis/auth/token_manager.py360 except Exception as e:CODE
LOWredis/auth/token_manager.py370 except Exception as e:CODE
198 more matches not shown…
Self-Referential Comments65 hits · 202 pts
SeverityFileLineSnippetContext
MEDIUMdoctests/dt_vec_set.py263# Create a list of 300 arbitrary values.COMMENT
MEDIUMredis/keyspace_notifications.py1662 # Create the PubSub instance with ignore_subscribe_messages=FalseCOMMENT
MEDIUMredis/background.py228 # Create a new event loop for health checksCOMMENT
MEDIUMredis/connection.py4195 # Create the connection first, then record metrics only on successCOMMENT
MEDIUMredis/cluster.py2787 # Create a redis node with a custom connection poolCOMMENT
MEDIUMredis/cluster.py2964 # Create a new Redis connectionCOMMENT
MEDIUMredis/commands/json/path.py2 """This class represents a path in a JSON value."""STRING
MEDIUM⚡tests/test_search.py1242 # Creating the index definitionCOMMENT
MEDIUM⚡tests/test_search.py1252 # Creating the index definitionCOMMENT
MEDIUMtests/test_search.py575 # Creating the index definition and schemaCOMMENT
MEDIUMtests/test_search.py854 # Creating a client with one indexCOMMENT
MEDIUMtests/test_search.py961 # Creating the index definition with sortable and no_stemCOMMENT
MEDIUMtests/test_search.py975 # Creating the index definition and schemaCOMMENT
MEDIUMtests/test_search.py2431 # Creating the index definition and schemaCOMMENT
MEDIUMtests/test_connection_pool.py1441 # Create a connection that doesn't belong to this poolCOMMENT
MEDIUMtests/test_cluster.py264 # Create a subclass of RedisCluster that overrides __del__COMMENT
MEDIUMtests/test_cluster.py811 # Create a cluster with reading from replicationsCOMMENT
MEDIUMtests/test_cluster.py5586 # Create a cluster with reading from replicationsCOMMENT
MEDIUMtests/test_cluster.py5757 # Create a new event dispatcher and attach it to the clusterCOMMENT
MEDIUMtests/test_cluster.py5970 # Create a new event dispatcher and attach it to the clusterCOMMENT
MEDIUM⚡tests/test_cache.py3198 # Create a cache with max_size=2COMMENT
MEDIUMtests/test_keyspace_notifications.py380 # Create a mock redis connection with pubsubCOMMENT
MEDIUMtests/test_keyspace_notifications.py626 # Create a new pubsub for the re-creationCOMMENT
MEDIUMtests/test_max_connections_error.py78 # Create a more complete mock clusterCOMMENT
MEDIUM⚡…int_notifications/test_maint_notifications_handling.py1042 # Create a pool and Redis client with maintenance notificationsCOMMENT
MEDIUM⚡…int_notifications/test_maint_notifications_handling.py1050 # Create a migrating notification (not handled by pool handler)COMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py666 # Create a pool and Redis client with maintenance notificationsCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py725 # Create a Redis client with disabled maintenance notifications configurationCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py740 # Create a new enabled configuration and set up pool handlerCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py755 # Create a new connection and validate it has full handlersCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py930 # Create a pool and Redis client with maintenance notificationsCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1014 # Create a pool and Redis client with maintenance notificationsCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1094 # Create a pool and Redis client with maintenance notificationsCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1181 # Create a pool and Redis client with disabled relaxed timeout configCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1292 # Create a pool and Redis client with maintenance notificationsCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1374 # Create a pool and Redis client with maintenance notifications and pool handlerCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1506 # Create a pool and Redis client with maintenance notifications and pool handlerCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1653 # Create a pool and Redis client with maintenance notifications and pool handlerCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1736 # Create a pool and Redis client with maintenance notifications and pool handlerCOMMENT
MEDIUM…int_notifications/test_maint_notifications_handling.py1800 # Create a pool and Redis client with maintenance notifications and pool handlerCOMMENT
MEDIUMtests/test_multidb/test_client.py653 # Create a DatabaseConfig for the new database with highest weightCOMMENT
MEDIUMtests/test_observability/test_recorder.py285 # Create a mock connection poolCOMMENT
MEDIUMtests/test_observability/test_recorder.py1601 # Create a mock cache size callbackCOMMENT
MEDIUM…st_observability/test_metrics_connection_attributes.py126 # Create a ConnectionPool with MockConnectionWithoutHostPort as connection_classCOMMENT
MEDIUMtests/test_asyncio/test_search.py587 # Creating the index definition and schemaCOMMENT
MEDIUMtests/test_asyncio/test_search.py888 # Creating a client with one indexCOMMENT
MEDIUMtests/test_asyncio/test_search.py1047 # Creating the index definition with sortable and no_stemCOMMENT
MEDIUMtests/test_asyncio/test_search.py1063 # Creating the index definition and schemaCOMMENT
MEDIUMtests/test_asyncio/test_search.py1780 # Creating the index definition and schemaCOMMENT
MEDIUMtests/test_asyncio/test_commands.py6784 # Create an empty stream by adding and deleting a messageCOMMENT
MEDIUM⚡tests/test_asyncio/test_cluster.py4620 # Create a mock connection marked for reconnectCOMMENT
MEDIUM⚡tests/test_asyncio/test_cluster.py4635 # Create a mock connection NOT marked for reconnectCOMMENT
MEDIUMtests/test_asyncio/test_cluster.py225 # Create a subclass of RedisCluster that overrides __del__COMMENT
MEDIUMtests/test_asyncio/test_cluster.py1025 # Create a cluster with reading from replicationsCOMMENT
MEDIUMtests/test_asyncio/test_cluster.py4810 # Define a custom callbackCOMMENT
MEDIUMtests/test_asyncio/test_cluster.py5268 # Create a cluster with reading from replicationsCOMMENT
MEDIUMtests/test_asyncio/test_cluster.py5578 # Create a new event dispatcher and attach it to the clusterCOMMENT
MEDIUMtests/test_asyncio/test_cluster.py5778 # Create a new event dispatcher and attach it to the clusterCOMMENT
MEDIUMtests/test_asyncio/test_client.py42 # Create a real Retry object that just executes the function directlyCOMMENT
MEDIUMtests/test_asyncio/test_client.py238 # Create a real Retry object that just executes the function directlyCOMMENT
5 more matches not shown…
Unused Imports183 hits · 150 pts
SeverityFileLineSnippetContext
LOWdoctests/query_range.py4CODE
LOWdoctests/query_geo.py4CODE
LOWdoctests/query_ft.py4CODE
LOWdoctests/query_ft.py7CODE
LOWdoctests/query_ft.py7CODE
LOWdoctests/query_ft.py9CODE
LOWredis/event.py16CODE
LOWredis/event.py16CODE
LOWredis/event.py16CODE
LOWredis/keyspace_notifications.py59CODE
LOWredis/client.py32CODE
LOWredis/client.py102CODE
LOWredis/__init__.py1CODE
LOWredis/__init__.py2CODE
LOWredis/__init__.py3CODE
LOWredis/__init__.py3CODE
LOWredis/__init__.py4CODE
LOWredis/__init__.py5CODE
LOWredis/__init__.py6CODE
LOWredis/__init__.py6CODE
LOWredis/__init__.py6CODE
LOWredis/__init__.py6CODE
LOWredis/__init__.py6CODE
LOWredis/__init__.py13CODE
LOWredis/__init__.py13CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py14CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py30CODE
LOWredis/__init__.py50CODE
LOWredis/__init__.py50CODE
LOWredis/__init__.py50CODE
123 more matches not shown…
Deep Nesting203 hits · 138 pts
SeverityFileLineSnippetContext
LOWredis/ocsp.py22CODE
LOWredis/keyspace_notifications.py1000CODE
LOWredis/keyspace_notifications.py1879CODE
LOWredis/keyspace_notifications.py2046CODE
LOWredis/keyspace_notifications.py2135CODE
LOWredis/client.py652CODE
LOWredis/client.py1674CODE
LOWredis/cache.py249CODE
LOWredis/cache.py298CODE
LOWredis/cache.py371CODE
LOWredis/connection.py3089CODE
LOWredis/connection.py1372CODE
LOWredis/connection.py1730CODE
LOWredis/connection.py1903CODE
LOWredis/connection.py2719CODE
LOWredis/connection.py3414CODE
LOWredis/connection.py3479CODE
LOWredis/connection.py3568CODE
LOWredis/connection.py3653CODE
LOWredis/connection.py3676CODE
LOWredis/connection.py3977CODE
LOWredis/connection.py4152CODE
LOWredis/connection.py4208CODE
LOWredis/connection.py4412CODE
LOWredis/connection.py4475CODE
LOWredis/connection.py4536CODE
LOWredis/connection.py4634CODE
LOWredis/utils.py362CODE
LOWredis/cluster.py1264CODE
LOWredis/cluster.py1759CODE
LOWredis/cluster.py1926CODE
LOWredis/cluster.py2342CODE
LOWredis/cluster.py2466CODE
LOWredis/cluster.py2586CODE
LOWredis/cluster.py2856CODE
LOWredis/cluster.py3178CODE
LOWredis/cluster.py3423CODE
LOWredis/cluster.py3627CODE
LOWredis/cluster.py3977CODE
LOWredis/cluster.py4071CODE
LOWredis/cluster.py4121CODE
LOWredis/cluster.py4150CODE
LOWredis/cluster.py4264CODE
LOWredis/cluster.py4367CODE
LOWredis/cluster.py4879CODE
LOWredis/cluster.py5187CODE
LOWredis/cluster.py5945CODE
LOWredis/maint_notifications.py897CODE
LOWredis/maint_notifications.py1249CODE
LOWredis/observability/recorder.py542CODE
LOWredis/commands/core.py385CODE
LOWredis/commands/core.py2959CODE
LOWredis/commands/core.py4406CODE
LOWredis/commands/cluster.py1506CODE
LOWredis/commands/cluster.py1594CODE
LOWredis/commands/helpers.py73CODE
LOWredis/commands/search/result.py15CODE
LOWredis/commands/search/commands.py517CODE
LOWredis/commands/search/commands.py713CODE
LOWredis/commands/search/commands.py851CODE
143 more matches not shown…
Over-Commented Block136 hits · 107 pts
SeverityFileLineSnippetContext
LOWdoctests/dt_stream.py41res4 = r.xrange("race:france", "1691765278160-0", "+", 2)COMMENT
LOWdoctests/dt_stream.py61# [('1692629576966-0',COMMENT
LOWdoctests/dt_stream.py101 print(e) # >>> WRONGIDCOMMENT
LOWdoctests/dt_stream.py121# {'rider': 'Prickett', 'speed': '29.7', 'position': '2', 'location_id': '1'}COMMENT
LOWdoctests/dt_stream.py141# STEP_START xrange_step_1COMMENT
LOWdoctests/dt_stream.py161# >>> [COMMENT
LOWdoctests/dt_stream.py181# >>> [COMMENT
LOWdoctests/dt_stream.py261)COMMENT
LOWdoctests/dt_stream.py281 res25COMMENT
LOWdoctests/dt_stream.py321# STEP_START xautoclaim_cursorCOMMENT
LOWdoctests/dt_stream.py341print(COMMENT
LOWdoctests/query_geo.py61# REMOVE_STARTCOMMENT
LOWdoctests/query_ft.py41assert res.total == 2COMMENT
LOWdoctests/query_ft.py61# STEP_ENDCOMMENT
LOWdoctests/query_ft.py81# REMOVE_STARTCOMMENT
LOWdoctests/cmds_list.py121r.delete("mylist")COMMENT
LOWdoctests/query_em.py101print(res.total)COMMENT
LOWdoctests/dt_bitmap.py141# >>> 01011000COMMENT
LOWdoctests/search_quickstart.py221# STEP_START query_single_termCOMMENT
LOWdoctests/search_quickstart.py241# STEP_START query_single_term_limit_fieldsCOMMENT
LOWdoctests/search_quickstart.py261# ...COMMENT
LOWdoctests/search_quickstart.py281# ...COMMENT
LOWdoctests/search_quickstart.py301# 'json': '{COMMENT
LOWdoctests/search_quickstart.py321# >>> Result{1 total, docs: [COMMENT
LOWdoctests/search_quickstart.py341# >>> Result{1 total, docs: [COMMENT
LOWdoctests/search_quickstart.py361# >>> Result{1 total, docs: [COMMENT
LOWdoctests/search_quickstart.py381# >>> {COMMENT
LOWdoctests/search_quickstart.py421# ['condition', 'new', 'count', '5']]COMMENT
LOWdoctests/query_combined.py121# REMOVE_STARTCOMMENT
LOWdoctests/search_vss.py61res = pipeline.execute()COMMENT
LOWdoctests/search_vss.py101# >>> [True, True, True, True, True, True, True, True, True, True, True]COMMENT
LOWdoctests/search_vss.py161# >>> 11 documents indexed with 0 failuresCOMMENT
LOWdoctests/search_vss.py181assert all(COMMENT
LOWdoctests/search_vss.py201# 'brand': 'Peaknetic',COMMENT
LOWdoctests/search_vss.py221# 'id': 'bikes:009',COMMENT
LOWutil/wait-for-it.sh1#!/usr/bin/env bashCOMMENT
LOWredis/himport.py201 # Serializes mutations (prepare/discard/discard_all) so the revision bump andCOMMENT
LOWredis/cache.py521COMMENT
LOWredis/connection.py1441 # The tail of the handshake (optional CLIENT MAINT_NOTIFICATIONS, thenCOMMENT
LOWredis/connection.py2201 # Cache nothing either: the reply belongs to a migratingCOMMENT
LOWredis/connection.py2241 # cache lock: it invokes application code and touches no cache state. Folding itCOMMENT
LOWredis/connection.py2281 if entry is not None and entry.status != CacheEntryStatus.IN_PROGRESS:COMMENT
LOWredis/connection.py2721 # The server destroys a connection's tracking state on disconnect, so every entryCOMMENT
LOWredis/connection.py4041 passCOMMENT
LOWredis/connection.py4061 #COMMENT
LOWredis/connection.py4461 passCOMMENT
LOWredis/cluster.py1041 }COMMENT
LOWredis/cluster.py1961 redis_node = self.get_redis_connection(target_node)COMMENT
LOWredis/cluster.py2101 # secrets or user data.COMMENT
LOWredis/cluster.py2501 # through the one object the cluster client was configured with.COMMENT
LOWredis/cluster.py2621 # Override the old primary with the new oneCOMMENT
LOWredis/cluster.py2881 Name of the node that just failed and should be tried only afterCOMMENT
LOWredis/cluster.py3241# siblings hold undelivered messages.COMMENT
LOWredis/cluster.py3301 self.node_pubsub_mapping = {}COMMENT
LOWredis/cluster.py3321 # connection used by aclose / send_command / regular subscribe) soCOMMENT
LOWredis/cluster.py3661 except (ConnectionError, TimeoutError, OSError) as e:COMMENT
LOWredis/cluster.py3781 ``PubSub`` itself has, and closing it would mean duplicatingCOMMENT
LOWredis/cluster.py3801 # So wake up periodically and re-check the mapping rather than parkCOMMENT
LOWredis/cluster.py3821 # unbounded wait leaves ``timeout`` at None for the read below.COMMENT
LOWredis/cluster.py4001 # Use .get(): migration-driven cleanup in the sunsubscribe branchCOMMENT
76 more matches not shown…
Decorative Section Separators30 hits · 105 pts
SeverityFileLineSnippetContext
MEDIUMredis/himport.py30# ---------------------------------------------------------------------------COMMENT
MEDIUMredis/himport.py32# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡redis/keyspace_notifications.py1765# =============================================================================COMMENT
MEDIUM⚡redis/keyspace_notifications.py1767# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py103# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py105# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py569# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py571# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py1052# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py1054# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py1623# =============================================================================COMMENT
MEDIUMredis/keyspace_notifications.py1625# =============================================================================COMMENT
MEDIUMredis/commands/metadata.py1283# =============================================================================COMMENT
MEDIUMredis/commands/metadata.py1285# =============================================================================COMMENT
MEDIUMredis/commands/policies.py42# =====================================================================================COMMENT
MEDIUMredis/commands/policies.py59# =====================================================================================COMMENT
MEDIUM⚡redis/asyncio/keyspace_notifications.py75# =============================================================================COMMENT
MEDIUM⚡redis/asyncio/keyspace_notifications.py77# =============================================================================COMMENT
MEDIUM⚡redis/asyncio/keyspace_notifications.py604# =============================================================================COMMENT
MEDIUM⚡redis/asyncio/keyspace_notifications.py606# =============================================================================COMMENT
MEDIUMredis/asyncio/keyspace_notifications.py219# =============================================================================COMMENT
MEDIUMredis/asyncio/keyspace_notifications.py221# =============================================================================COMMENT
MEDIUMredis/asyncio/keyspace_notifications.py481# =============================================================================COMMENT
MEDIUMredis/asyncio/keyspace_notifications.py483# =============================================================================COMMENT
MEDIUMredis/_parsers/commands.py418# =============================================================================COMMENT
MEDIUMredis/_parsers/commands.py420# =============================================================================COMMENT
MEDIUM⚡tests/test_sentinel.py548# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_sentinel.py550# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_asyncio/test_sentinel.py483# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_asyncio/test_sentinel.py485# ---------------------------------------------------------------------------COMMENT
AI Structural Patterns93 hits · 66 pts
SeverityFileLineSnippetContext
LOWredis/client.py282CODE
LOWredis/connection.py384CODE
LOWredis/connection.py1054CODE
LOWredis/connection.py2816CODE
LOWredis/connection.py3568CODE
LOWredis/cluster.py721CODE
LOWredis/cluster.py2466CODE
LOWredis/cluster.py4481CODE
LOWredis/observability/metrics.py479CODE
LOWredis/observability/config.py105CODE
LOWredis/http/http_client.py64CODE
LOWredis/commands/core.py346CODE
LOWredis/commands/core.py366CODE
LOWredis/commands/core.py385CODE
LOWredis/commands/core.py3475CODE
LOWredis/commands/core.py3493CODE
LOWredis/commands/core.py3510CODE
LOWredis/commands/core.py4368CODE
LOWredis/commands/core.py4387CODE
LOWredis/commands/core.py4406CODE
LOWredis/commands/core.py5441CODE
LOWredis/commands/core.py5455CODE
LOWredis/commands/core.py5468CODE
LOWredis/commands/core.py7016CODE
LOWredis/commands/core.py7032CODE
LOWredis/commands/core.py7047CODE
LOWredis/commands/core.py10099CODE
LOWredis/commands/core.py10115CODE
LOWredis/commands/core.py10130CODE
LOWredis/commands/core.py11687CODE
LOWredis/commands/core.py11705CODE
LOWredis/commands/core.py11722CODE
LOWredis/commands/core.py11786CODE
LOWredis/commands/core.py11803CODE
LOWredis/commands/core.py11819CODE
LOWredis/commands/core.py11905CODE
LOWredis/commands/core.py11924CODE
LOWredis/commands/core.py11942CODE
LOWredis/commands/core.py12024CODE
LOWredis/commands/core.py12042CODE
LOWredis/commands/core.py12059CODE
LOWredis/commands/timeseries/commands.py236CODE
LOWredis/commands/timeseries/commands.py252CODE
LOWredis/commands/timeseries/commands.py267CODE
LOWredis/commands/timeseries/commands.py396CODE
LOWredis/commands/timeseries/commands.py411CODE
LOWredis/commands/timeseries/commands.py425CODE
LOWredis/commands/timeseries/commands.py518CODE
LOWredis/commands/timeseries/commands.py533CODE
LOWredis/commands/timeseries/commands.py547CODE
LOWredis/commands/timeseries/commands.py774CODE
LOWredis/commands/timeseries/commands.py792CODE
LOWredis/commands/timeseries/commands.py809CODE
LOWredis/commands/timeseries/commands.py887CODE
LOWredis/commands/timeseries/commands.py905CODE
LOWredis/commands/timeseries/commands.py922CODE
LOWredis/commands/timeseries/commands.py1122CODE
LOWredis/commands/timeseries/commands.py1140CODE
LOWredis/commands/timeseries/commands.py1157CODE
LOWredis/commands/timeseries/commands.py1258CODE
33 more matches not shown…
Modern Structural Boilerplate62 hits · 58 pts
SeverityFileLineSnippetContext
LOWredis/crc.py9__all__ = ["key_slot", "REDIS_CLUSTER_HASH_SLOTS"]CODE
LOWredis/credentials.py5logger = logging.getLogger(__name__)CODE
LOWredis/keyspace_notifications.py80logger = logging.getLogger(__name__)CODE
LOWredis/client.py113logger = logging.getLogger(__name__)CODE
LOWredis/client.py609 def set_retry(self, retry: Retry) -> None:CODE
LOWredis/client.py613 def set_response_callback(self, command: str, callback: Callable) -> None:CODE
LOWredis/cache.py663 def set_metadata_resolver(self, metadata_resolver: MetadataResolver) -> None:CODE
LOWredis/__init__.py72__all__ = [CODE
LOWredis/retry.py55 def update_supported_errors(self, specified_errors: Iterable[Type[E]]) -> None:CODE
LOWredis/retry.py69 def update_retries(self, value: int) -> None:CODE
LOWredis/connection.py144logger = logging.getLogger(__name__)CODE
LOWredis/connection.py4298 def set_retry(self, retry: Retry) -> None:CODE
LOWredis/cluster.py122logger = logging.getLogger(__name__)CODE
LOWredis/cluster.py1299 def set_retry(self, retry: Retry) -> None:CODE
LOWredis/lock.py11logger = logging.getLogger(__name__)CODE
LOWredis/maint_notifications.py37logger = logging.getLogger(__name__)CODE
LOWredis/auth/token_manager.py12logger = logging.getLogger(__name__)CODE
LOWredis/multidb/client.py39logger = logging.getLogger(__name__)CODE
LOWredis/multidb/client.py156 def set_active_database(self, database: SyncDatabase) -> None:CODE
LOWredis/multidb/failover.py23 def set_databases(self, databases: Databases) -> None:CODE
LOWredis/multidb/failover.py68 def set_databases(self, databases: Databases) -> None:CODE
LOWredis/multidb/failure_detector.py26 def set_command_executor(self, command_executor) -> None:CODE
LOWredis/multidb/failure_detector.py78 def set_command_executor(self, command_executor) -> None:CODE
LOWredis/observability/metrics.py33logger = logging.getLogger(__name__)CODE
LOWredis/observability/__init__.py20__all__ = [CODE
LOWredis/observability/providers.py28logger = logging.getLogger(__name__)CODE
LOWredis/http/http_client.py14__all__ = ["HttpClient", "HttpResponse", "HttpError", "DEFAULT_TIMEOUT"]CODE
LOWredis/commands/metadata.py42__all__ = [CODE
LOWredis/commands/__init__.py7__all__ = [CODE
LOWredis/commands/policies.py25__all__ = [CODE
LOW⚡redis/asyncio/keyspace_notifications.py68logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/client.py128logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/client.py591 def set_retry(self, retry: Retry) -> None:CODE
LOWredis/asyncio/__init__.py41__all__ = [CODE
LOWredis/asyncio/connection.py141logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/connection.py961 def set_parser(self, parser_class: Type[BaseParser]) -> None:CODE
LOWredis/asyncio/connection.py2147 def set_retry(self, retry: "Retry") -> None:CODE
LOWredis/asyncio/connection.py2719 def update_connection_kwargs(self, **kwargs: Any) -> None:CODE
LOWredis/asyncio/connection.py2891 def _set_in_maintenance(self, in_maintenance: bool) -> None:CODE
LOWredis/asyncio/connection.py3318 def set_retry(self, retry: "Retry") -> None:CODE
LOWredis/asyncio/connection.py3422 def set_in_maintenance(self, in_maintenance: bool) -> None:CODE
LOW⚡redis/asyncio/cluster.py1120 def set_retry(self, retry: Retry) -> None:CODE
LOW⚡redis/asyncio/cluster.py1123 def set_response_callback(self, command: str, callback: ResponseCallbackT) -> None:CODE
LOWredis/asyncio/cluster.py163logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/cluster.py917 def set_default_node(self, node: "ClusterNode") -> None:CODE
LOWredis/asyncio/cluster.py2045 def update_active_connections_for_reconnect(self) -> None:CODE
LOWredis/asyncio/cluster.py2821 def set_response_callback(self, command: str, callback: ResponseCallbackT) -> None:CODE
LOWredis/asyncio/cluster.py3895 def set_retry(self, retry: "Retry") -> None:CODE
LOWredis/asyncio/lock.py14logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/maint_notifications.py34logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/multidb/client.py32logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/multidb/client.py155 async def set_active_database(self, database: AsyncDatabase) -> None:CODE
LOWredis/asyncio/multidb/failover.py23 def set_databases(self, databases: Databases) -> None:CODE
LOWredis/asyncio/multidb/failover.py68 def set_databases(self, databases: Databases) -> None:CODE
LOWredis/asyncio/multidb/healthcheck.py86logger = logging.getLogger(__name__)CODE
LOWredis/asyncio/multidb/failure_detector.py18 def set_command_executor(self, command_executor) -> None:CODE
LOWredis/asyncio/multidb/failure_detector.py37 def set_command_executor(self, command_executor) -> None:CODE
LOWredis/_parsers/__init__.py14__all__ = [CODE
LOWredis/_parsers/commands.py36__all__ = [CODE
LOWredis/_parsers/base.py111logger = logging.getLogger(__name__)CODE
2 more matches not shown…
Redundant / Tautological Comments40 hits · 56 pts
SeverityFileLineSnippetContext
LOWutil/wait-for-it.sh172 # Check if busybox timeout uses -t flagCOMMENT
LOWredis/keyspace_notifications.py2013 # Check if we've exceeded the total timeoutCOMMENT
LOWredis/cluster.py3119 # Check if the slots are not fully coveredCOMMENT
LOWredis/sentinel.py285 # Check if command is supposed to return the originalCOMMENT
LOWredis/sentinel.py346 # Check if our sentinel doesn't see other nodesCOMMENT
LOWredis/maint_notifications.py719 # Check if the host is an IP addressCOMMENT
LOWredis/maint_notifications.py962 # Set state to MOVINGCOMMENT
LOWredis/observability/metrics.py512 # Check if this command should be trackedCOMMENT
LOWredis/observability/recorder.py476 # Check if channel names should be hiddenCOMMENT
LOWredis/observability/recorder.py520 # Check if stream names should be hiddenCOMMENT
LOWredis/observability/recorder.py571 # Check if stream names should be hiddenCOMMENT
LOWredis/observability/providers.py88 # Check if it's a real provider (not NoOp)COMMENT
LOWredis/asyncio/cluster.py2661 # Check if the slots are not fully coveredCOMMENT
LOWredis/asyncio/cluster.py3287 # Check if it has a command that failed with a relevantCOMMENT
LOWredis/asyncio/sentinel.py242 # Check if command is supposed to return the originalCOMMENT
LOWredis/asyncio/sentinel.py306 # Check if our sentinel doesn't see other nodesCOMMENT
LOWredis/asyncio/observability/recorder.py437 # Check if channel names should be hiddenCOMMENT
LOWredis/asyncio/observability/recorder.py474 # Check if stream names should be hiddenCOMMENT
LOWredis/asyncio/observability/recorder.py514 # Check if stream names should be hiddenCOMMENT
LOWredis/_parsers/commands.py545 # Check if this is a policy stringCOMMENT
LOW⚡tests/test_connect.py125 # Check if the base class defaults were taken over.COMMENT
LOW⚡tests/test_connect.py128 # Verify if the timeout and the path is set correctly.COMMENT
LOWtests/test_vsets.py783 # Set attributes to NoneCOMMENT
LOWtests/test_vsets.py789 # Set attributes to empty dictCOMMENT
LOWtests/test_vsets.py801 # Set attributes to unexisting elementCOMMENT
LOWtests/test_vsets.py807 # Set attributes to unexisting vsetCOMMENT
LOWtests/test_cluster.py6160 # Check if any has error.type (the one from _raise_first_error)COMMENT
LOW…int_notifications/test_maint_notifications_handling.py225 # Check if this is a key that should trigger a push messageCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py412 # Check if any of the sockets in rlist have data availableCOMMENT
LOWtests/test_parsers/test_errors.py139 # Check if any of the sockets in rlist have data availableCOMMENT
LOWtests/test_multidb/conftest.py36 # Check if the test is marked to skip connection mockingCOMMENT
LOWtests/test_asyncio/test_vsets.py785 # Set attributes to NoneCOMMENT
LOWtests/test_asyncio/test_vsets.py791 # Set attributes to empty dictCOMMENT
LOWtests/test_asyncio/test_vsets.py803 # Set attributes to unexisting elementCOMMENT
LOWtests/test_asyncio/test_vsets.py809 # Set attributes to unexisting vsetCOMMENT
LOWtests/test_asyncio/test_connection_pool.py273 # Check if the pool's lock is held during connectionCOMMENT
LOWtests/test_asyncio/test_multidb/conftest.py35 # Check if the test is marked to skip connection mockingCOMMENT
LOWbenchmarks/otel_benchmark.py1235 # Output resultsCOMMENT
LOWbenchmarks/otel_benchmark.py1264 # Output resultsCOMMENT
LOW.github/actions/run-tests/action.yml99 # Check if REDIS_VERSION is in the custom mapCOMMENT
Docstring Block Structure10 hits · 50 pts
SeverityFileLineSnippetContext
HIGHredis/keyspace_notifications.py696 Create a keyevent pattern for subscribing to all event types. This is equivalent to KeyeventChannel("*STRING
HIGHredis/keyspace_notifications.py962 Determine the type of a Redis keyspace notification channel. Args: channel: The channel name to check STRING
HIGHredis/keyspace_notifications.py1501 Start a background thread that polls for notifications and triggers handlers. This method spawns a thrSTRING
HIGHredis/background.py118 Runs a coroutine synchronously and returns its result. Uses the shared health check event loop to ensurSTRING
HIGHredis/commands/helpers.py188 Checks that at most one of the values in the iterable is truthy. Args: iterable: An iterable of valuesSTRING
HIGHredis/commands/json/commands.py29Convert a string or FPHAType instance to a validated FPHAType. Args: value: An ``FPHAType`` member STRING
HIGHredis/_parsers/commands.py446 Determines whether a given command or subcommand is considered "keyless". A keyless command does not operate oSTRING
HIGHredis/_parsers/commands.py571 Traverse a parsed ``COMMAND`` reply, resolving the policies of every command, and build one record per command STRING
HIGHredis/_parsers/commands.py677 Retrieve and process the command policies for all commands and subcommands. This function traverses through coSTRING
HIGHredis/_parsers/commands.py789 Retrieve and process the metadata records cache for all commands and subcommands. This function traverses throSTRING
Structural Annotation Overuse30 hits · 48 pts
SeverityFileLineSnippetContext
LOW⚡…int_notifications/test_maint_notifications_handling.py1846 # Step 2: Run command that will receive and handle MIGRATED notificationCOMMENT
LOW⚡…int_notifications/test_maint_notifications_handling.py1855 # Step 3: Validate that MIGRATED notification was processed but MOVING settings remainCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1114 # Step 4: Validate timeout was updated to relaxed value after MIGRATINGCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1135 # Step 6: Validate socket timeout is still relaxed during commands 3-4COMMENT
LOW…int_notifications/test_maint_notifications_handling.py1150 # Step 8: Validate socket timeout is reversed back to original after MIGRATEDCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1312 # Step 4: Validate timeout was updated to relaxed value after MIGRATINGCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1333 # Step 6: Validate socket timeout is still relaxed during commands 3-4COMMENT
LOW…int_notifications/test_maint_notifications_handling.py1348 # Step 8: Validate socket timeout is reversed back to original after FAILED_OVERCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1822 # Step 1: Run command that will receive and handle MOVING notificationCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1872 # Step 4: Create new connections after MIGRATED to verify they still use MOVING settingsCOMMENT
LOW⚡tests/test_observability/test_recorder.py1495 # Step 1: IDLE +1 (creation)COMMENT
LOW⚡tests/test_observability/test_recorder.py1499 # Step 2: IDLE -1, USED +1 (acquire)COMMENT
LOW⚡tests/test_observability/test_recorder.py1505 # Step 3: USED -1, IDLE +1 (release)COMMENT
LOW⚡tests/test_observability/test_recorder.py1511 # Step 4: IDLE -1 (disconnect)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1113 # Step 1: IDLE +1 (creation)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1117 # Step 2: IDLE -1, USED +1 (acquire)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1123 # Step 3: USED -1, IDLE +1 (release)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1129 # Step 4: IDLE -1 (disconnect)COMMENT
LOW.agents/sync_async_type_hints_overload_guide.md19### Step 1: Check Official Redis DocumentationCOMMENT
LOW.agents/sync_async_type_hints_overload_guide.md26### Step 2: Check Local Response CallbacksCOMMENT
LOW.agents/sync_async_type_hints_overload_guide.md51### Step 3: Check Test AssertionsCOMMENT
LOW⚡.agents/sync_async_type_hints_overload_guide.md75### Step 1: Add `@overload` SignaturesCOMMENT
LOW⚡.agents/sync_async_type_hints_overload_guide.md82### Step 2: Mirror the Input SignatureCOMMENT
LOW⚡.agents/sync_async_type_hints_overload_guide.md88### Step 3: Keep Original ImplementationCOMMENT
LOW⚡.agents/sync_async_type_hints_overload_guide.md96### Step 4: Run Type CheckerCOMMENT
LOW.agents/sync_async_type_hints_overload_guide.md114## Step 1: Research the CommandCOMMENT
LOW.agents/sync_async_type_hints_overload_guide.md121## Step 2: Define the Function SignatureCOMMENT
LOW.agents/sync_async_type_hints_overload_guide.md140## Step 3: Implement the Overload PatternCOMMENT
LOW.agents/sync_async_type_hints_overload_guide.md177## Step 4: Register Response Callback (if needed)COMMENT
LOW.agents/sync_async_type_hints_overload_guide.md191## Step 5: Add TestsCOMMENT
AI Slop Vocabulary20 hits · 40 pts
SeverityFileLineSnippetContext
LOWredis/cluster.py1690 # so we can just return a random slotCOMMENT
LOWredis/cluster.py1698 # can be run on any node so we can just return a random slotCOMMENT
LOWredis/maint_notifications.py908 # just returnCOMMENT
LOWredis/asyncio/cluster.py1242 # so we can just return a random slotCOMMENT
LOWredis/asyncio/cluster.py1249 # can be run on any node so we can just return a random slotCOMMENT
LOWredis/asyncio/maint_notifications.py137 # just returnCOMMENT
LOWredis/_parsers/hiredis.py219 # blocking error, simply return False indicating thatCOMMENT
LOWredis/_parsers/resp3.py86 # necessary, so just return the exception instance here.COMMENT
LOWredis/_parsers/resp3.py228 # necessary, so just return the exception instance here.COMMENT
LOWredis/_parsers/socket.py115 # blocking error, simply return False indicating thatCOMMENT
LOWredis/_parsers/helpers.py341 # if for some reason the value can't be coerced, just useCOMMENT
LOWredis/_parsers/resp2.py49 # necessary, so just return the exception instance here.COMMENT
LOWredis/_parsers/resp2.py113 # necessary, so just return the exception instance here.COMMENT
MEDIUMtests/test_search.py939 # so pin only that here and let the harness supply the protocol xCOMMENT
LOW⚡tests/test_ssl.py408 # Don't actually wrap the socket, just return the original socketCOMMENT
MEDIUMtests/test_asyncio/test_search.py979 # so pin only that here and let the harness supply the protocol xCOMMENT
MEDIUMtests/test_asyncio/test_cwe_404.py108 # ignore errors on close pertaining to no event loop. Don't wantCOMMENT
MEDIUMbenchmarks/otel_benchmark.py883 # Create comprehensive generator with baseline redis moduleCOMMENT
MEDIUMbenchmarks/otel_benchmark.py939 # Create async comprehensive generator with baseline redis moduleCOMMENT
MEDIUMbenchmarks/base.py16 # eventually make this more robust and take optional args fromCOMMENT
Verbosity Indicators20 hits · 30 pts
SeverityFileLineSnippetContext
LOWredis/multidb/config.py74 grace_period (float): Grace period after which we need to check if the circuit could be closed again.STRING
LOWredis/asyncio/multidb/config.py77 grace_period (float): Grace period after which we need to check if the circuit could be closed again.STRING
LOW⚡…int_notifications/test_maint_notifications_handling.py1846 # Step 2: Run command that will receive and handle MIGRATED notificationCOMMENT
LOW⚡…int_notifications/test_maint_notifications_handling.py1855 # Step 3: Validate that MIGRATED notification was processed but MOVING settings remainCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1114 # Step 4: Validate timeout was updated to relaxed value after MIGRATINGCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1135 # Step 6: Validate socket timeout is still relaxed during commands 3-4COMMENT
LOW…int_notifications/test_maint_notifications_handling.py1150 # Step 8: Validate socket timeout is reversed back to original after MIGRATEDCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1312 # Step 4: Validate timeout was updated to relaxed value after MIGRATINGCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1333 # Step 6: Validate socket timeout is still relaxed during commands 3-4COMMENT
LOW…int_notifications/test_maint_notifications_handling.py1348 # Step 8: Validate socket timeout is reversed back to original after FAILED_OVERCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1822 # Step 1: Run command that will receive and handle MOVING notificationCOMMENT
LOW…int_notifications/test_maint_notifications_handling.py1872 # Step 4: Create new connections after MIGRATED to verify they still use MOVING settingsCOMMENT
LOW⚡tests/test_observability/test_recorder.py1495 # Step 1: IDLE +1 (creation)COMMENT
LOW⚡tests/test_observability/test_recorder.py1499 # Step 2: IDLE -1, USED +1 (acquire)COMMENT
LOW⚡tests/test_observability/test_recorder.py1505 # Step 3: USED -1, IDLE +1 (release)COMMENT
LOW⚡tests/test_observability/test_recorder.py1511 # Step 4: IDLE -1 (disconnect)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1113 # Step 1: IDLE +1 (creation)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1117 # Step 2: IDLE -1, USED +1 (acquire)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1123 # Step 3: USED -1, IDLE +1 (release)COMMENT
LOW⚡tests/test_asyncio/test_observability/test_recorder.py1129 # Step 4: IDLE -1 (disconnect)COMMENT
Modern AI Meta-Vocabulary7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMredis/client.py990 # HIMPORT orchestration. The registry lives on the shared HImportRegistry; theCOMMENT
MEDIUMredis/cluster.py1585 # HIMPORT orchestration. PREPARE/DISCARD/DISCARDALL mutate the one sharedCOMMENT
MEDIUMredis/cluster.py3253# Reconciliation is otherwise purely event-driven, and a node that has left theCOMMENT
MEDIUMredis/commands/core.py10844 # DISCARD / DISCARDALL wire mappings; the client-side orchestration around themCOMMENT
MEDIUMredis/asyncio/client.py1044 # HIMPORT orchestration (async mirror of redis.client.Redis). SeeCOMMENT
MEDIUMredis/asyncio/cluster.py1078 # HIMPORT orchestration (async mirror of redis.cluster.RedisCluster). The oneCOMMENT
MEDIUMredis/asyncio/cluster.py3960# Reconciliation is otherwise purely event-driven, and a node that has left theCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALredis/multidb/event.py74 for node in event.old_database.client.nodes_manager.nodes_cache.values():CODE
CRITICALtests/test_asyncio/test_scenario/conftest.py409 await client.command_executor.active_database.client.connection_pool.disconnect()CODE
Cross-Language Confusion2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHdoctests/dt_json.py72print(res12) # >>> ['["Deimos", { "crashes": 0 }, null]']CODE
HIGH…int_notifications/test_maint_notifications_handling.py255 # Format: >4\r\n$6\r\nMOVING\r\n:1\r\n:1\r\n+null\r\n (4 elements: MOVING, id, ttl, null)COMMENT
Slop Phrases5 hits · 7 pts
SeverityFileLineSnippetContext
LOWredis/client.py1913 # make sure to reset the connection state in the event that we wereCOMMENT
LOWredis/cluster.py5948 # make sure to reset the connection state in the event that we wereCOMMENT
LOWredis/asyncio/client.py1903 # make sure to reset the connection state in the event that we wereCOMMENT
LOWredis/asyncio/cluster.py3753 # make sure to reset the connection state in the event that weCOMMENT
LOWredis/_parsers/socket.py152 length = length + 2 # make sure to read the \r\n terminatorCODE
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_search.py1004 client.hset("doc2", mapping={"f1": "very important", "f2": "lorem ipsum"})CODE
LOWtests/test_asyncio/test_search.py1093 "doc2", mapping={"f1": "very important", "f2": "lorem ipsum"}CODE
Overly Generic Function Names3 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_commands.py8705 def helper():CODE
LOWtests/test_asyncio/test_commands.py6594 async def helper():CODE
LOWdocs/examples/opentelemetry/main.py31def handle_request(client):CODE