AI Slop Code RIsk Monitor

kennethreitz/responder

A familiar HTTP Service Framework for Python.

49.9 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for kennethreitz/responder, a Python project with 3,616 GitHub stars. SynthScan examined 53,377 lines of code across 185 source files, recording 1705 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 49.9 (High 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.

49.9
Adjusted Signal
49.9
Raw Pattern Score
100%
Time Factor
2026-08-01
Last Push
3.6K
Stars
Python
Language
53.4K
Lines of Code
185
Files
1.7K
Pattern Hits
2026-10-12
Scan Date
0.81
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 68.1/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 39.2/100 · MEDIUM

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

Agent Over-Engineering Ratio 85.8/100 · CRITICAL

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

PR Review Velocity Impact 92.7/100 · CRITICAL

Which changes need focused human review? 1705 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 0HIGH 149MEDIUM 172LOW 1384

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 1705 distinct pattern matches across 15 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 Identifiers1188 hits · 1163 pts
SeverityFileLineSnippetContext
LOWtests/test_async_backends.py26def test_async_session_backend_round_trip_and_touch():CODE
LOWtests/test_async_backends.py60def test_async_ratelimit_backend():CODE
LOW⚡tests/test_devex_810.py93def test_run_without_new_flags_keeps_default_call(monkeypatch, fake_api):CODE
LOW⚡tests/test_devex_810.py99def test_run_limit_max_requests_still_threaded(monkeypatch, fake_api):CODE
LOW⚡tests/test_devex_810.py108def test_run_invalid_port_exits(monkeypatch, fake_api):CODE
LOW⚡tests/test_devex_810.py118def test_run_debug_flag_still_works(monkeypatch, fake_api):CODE
LOW⚡tests/test_devex_810.py124def test_reload_invokes_uvicorn_with_import_string(monkeypatch, fake_api):CODE
LOW⚡tests/test_devex_810.py256def test_uvicorn_import_string(target, expected):CODE
LOW⚡tests/test_devex_810.py538def test_async_client_basic_request(api):CODE
LOW⚡tests/test_devex_810.py675def test_parse_sse_full_frames():CODE
LOWtests/test_devex_810.py60def test_bare_responder_prints_usage_and_exits_nonzero(monkeypatch):CODE
LOWtests/test_devex_810.py72def test_run_flags_are_threaded_to_api_run(monkeypatch, fake_api):CODE
LOWtests/test_devex_810.py149def test_reload_explicit_port_wins_over_port_env(monkeypatch, fake_api):CODE
LOWtests/test_devex_810.py172def test_reload_defaults_attribute_to_api(monkeypatch, fake_api):CODE
LOWtests/test_devex_810.py185def test_reload_rejects_file_target(monkeypatch, fake_api):CODE
LOWtests/test_devex_810.py194def test_run_granian_with_limit_max_requests_is_rejected(monkeypatch, fake_api):CODE
LOWtests/test_devex_810.py214def test_run_uvicorn_still_accepts_limit_max_requests(monkeypatch, fake_api):CODE
LOWtests/test_devex_810.py233def test_reload_rejects_granian(monkeypatch, fake_api):CODE
LOWtests/test_devex_810.py277def test_orjson_encodes_media(api):CODE
LOWtests/test_devex_810.py290def test_orjson_non_str_keys_match_stdlib(api):CODE
LOWtests/test_devex_810.py300def test_orjson_dict_subclass_matches_stdlib(api):CODE
LOWtests/test_devex_810.py313def test_orjson_str_and_int_subclasses_match_stdlib(api):CODE
LOWtests/test_devex_810.py332def test_orjson_builtin_type_conversions(api):CODE
LOWtests/test_devex_810.py359def test_orjson_custom_encoder_still_works():CODE
LOWtests/test_devex_810.py381def test_json_ensure_ascii_true_stays_on_stdlib():CODE
LOWtests/test_devex_810.py394def test_json_unicode_passthrough_default(api):CODE
LOWtests/test_devex_810.py405def test_orjson_bigint_falls_back_to_stdlib(api):CODE
LOWtests/test_devex_810.py417def test_json_decode_bigint_roundtrips_exactly(monkeypatch, disable_orjson):CODE
LOWtests/test_devex_810.py446def test_orjson_str_subclass_ignores_overridden_dunder(api):CODE
LOWtests/test_devex_810.py462def test_orjson_int_subclass_ignores_overridden_dunder(api):CODE
LOWtests/test_devex_810.py477def test_json_decode_request_body(api):CODE
LOWtests/test_devex_810.py499def test_json_decode_nan_literal_still_parses(api):CODE
LOWtests/test_devex_810.py516def test_stdlib_path_when_orjson_unavailable(monkeypatch):CODE
LOWtests/test_devex_810.py552def test_async_client_uses_streaming_transport(api):CODE
LOWtests/test_devex_810.py562def test_async_client_without_context_manager(api):CODE
LOWtests/test_devex_810.py576def test_async_client_runs_lifespan(api):CODE
LOWtests/test_devex_810.py600def test_async_client_startup_failure_raises(api):CODE
LOWtests/test_devex_810.py613def test_async_client_concurrent_requests(api):CODE
LOWtests/test_devex_810.py629def test_async_client_raise_app_exceptions_false(api):CODE
LOWtests/test_devex_810.py643def test_async_client_propagates_app_exceptions(api):CODE
LOWtests/test_devex_810.py657def test_async_client_posts_json_body(api):CODE
LOWtests/test_devex_810.py695def test_parse_sse_defaults_and_edge_cases():CODE
LOWtests/test_devex_810.py706def test_sse_event_json_helper():CODE
LOWtests/test_devex_810.py710def test_parse_sse_from_sync_client(api):CODE
LOWtests/test_devex_810.py727def test_collect_sse_finite_stream(api):CODE
LOWtests/test_devex_810.py747def test_iter_sse_endless_stream_with_heartbeat(api):CODE
LOWtests/test_devex_810.py781def test_iter_sse_skips_heartbeat_comments(api):CODE
LOWtests/test_http_semantics.py74def test_automatic_options_response(api):CODE
LOWtests/test_http_semantics.py85def test_head_supported_on_get_routes(api):CODE
LOWtests/test_http_semantics.py101def test_head_response_sends_headers_without_body():CODE
LOWtests/test_http_semantics.py122def test_head_stream_response_does_not_iterate_body():CODE
LOW⚡tests/test_http_semantics.py149def test_set_cookie_samesite_default(api):CODE
LOW⚡tests/test_http_semantics.py159def test_set_cookie_samesite_strict(api):CODE
LOW⚡tests/test_http_semantics.py169def test_set_cookie_samesite_none_omits(api):CODE
LOW⚡tests/test_http_semantics.py182def test_return_dict_sets_media(api):CODE
LOW⚡tests/test_http_semantics.py191def test_return_list_sets_media(api):CODE
LOW⚡tests/test_http_semantics.py199def test_return_str_sets_text(api):CODE
LOW⚡tests/test_http_semantics.py209def test_return_bytes_sets_content(api):CODE
LOW⚡tests/test_http_semantics.py217def test_return_none_keeps_resp_mutation(api):CODE
LOW⚡tests/test_http_semantics.py225def test_return_value_in_class_based_view(api):CODE
1128 more matches not shown…
Decorative Section Separators160 hits · 648 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_devex_810.py260# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_devex_810.py262# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_devex_810.py533# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_devex_810.py535# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_devex_810.py670# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_devex_810.py672# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_devex_810.py33# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_devex_810.py35# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_models_810.py30# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_models_810.py32# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_models_810.py148# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_models_810.py150# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_models_810.py498# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_models_810.py500# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_810.py191# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_810.py193# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_810.py428# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_810.py430# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_models_801.py35# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_801.py88# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_801.py138# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_801.py177# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_801.py335# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_models_801.py380# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py17# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py19# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py68# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py70# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py89# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py91# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py110# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_concurrency_hardening.py112# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py63# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py65# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py246# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py248# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py511# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py513# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py566# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_redis_backends.py568# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_redis_backends.py347# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_redis_backends.py349# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py20# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py22# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py71# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py73# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py157# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py159# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py273# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py277# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py291# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py294# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py394# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py396# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py441# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_plumbing_801.py443# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plumbing_801.py190# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plumbing_801.py192# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_sessions_memory_bounds.py14# --------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_sessions_memory_bounds.py16# --------------------------------------------------------------------------COMMENT
100 more matches not shown…
Cross-Language Confusion109 hits · 458 pts
SeverityFileLineSnippetContext
HIGHtests/test_clientgen.py319 "get_user(userId, includeDetails = null)",CODE
HIGHtests/test_clientgen.py331 "get_user(userId: number, includeDetails: boolean | null = null)",CODE
HIGH⚡tests/test_clientgen.py354 "public function get_user($user_id, $include_details = null): mixed",CODE
HIGHtests/test_cli.py128 '{"scripts": null}',CODE
HIGHtests/test_cli.py138 '{"scripts": {"build": null}}',CODE
HIGH⚡responder/ext/clientgen.py739 data: T | null;CODE
HIGH⚡responder/ext/clientgen.py740 event: string | null;CODE
HIGH⚡responder/ext/clientgen.py741 id: string | null;CODE
HIGH⚡responder/ext/clientgen.py742 retry: number | null;CODE
HIGH⚡responder/ext/clientgen.py743 comment: string | null;CODE
HIGH⚡responder/ext/clientgen.py750 formBody?: Record<string, unknown> | null;CODE
HIGH⚡responder/ext/clientgen.py751 multipartBody?: Record<string, unknown> | null;CODE
HIGH⚡responder/ext/clientgen.py752 requestSchema?: Schema | null;CODE
HIGH⚡responder/ext/clientgen.py753 responseSchema?: Schema | null;CODE
HIGH⚡responder/ext/clientgen.py910 if (schema.nullable && value === null) return;CODE
HIGH⚡responder/ext/clientgen.py910 if (schema.nullable && value === null) return;CODE
HIGH⚡responder/ext/clientgen.py911 if (schema.anyOf || schema.oneOf) {{CODE
HIGH⚡responder/ext/clientgen.py912 const variants = schema.anyOf || schema.oneOf;CODE
HIGH⚡responder/ext/clientgen.py953 if (value === null || typeof value !== 'object' || Array.isArray(value)) {{CODE
HIGH⚡responder/ext/clientgen.py958 throw validationError(`${{path}}.${{key}}`, 'present', undefined);CODE
HIGH⚡responder/ext/clientgen.py962 if (value[key] !== undefined) {{CODE
HIGH⚡responder/ext/clientgen.py975 if (bearerToken !== null) this.headers.Authorization = `Bearer ${{bearerToken}}`;CODE
HIGH⚡responder/ext/clientgen.py976 if (basicAuth !== null) {{CODE
HIGH⚡responder/ext/clientgen.py980 if (apiKey !== null) {{CODE
HIGH⚡responder/ext/clientgen.py989 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py989 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py996 const qs = params.toString();CODE
HIGH⚡responder/ext/clientgen.py1000 if (value !== null && value !== undefined) requestHeaders[key] = String(value);CODE
HIGH⚡responder/ext/clientgen.py1000 if (value !== null && value !== undefined) requestHeaders[key] = String(value);CODE
HIGH⚡responder/ext/clientgen.py1003 .filter(([, value]) => value !== null && value !== undefined)CODE
HIGH⚡responder/ext/clientgen.py1003 .filter(([, value]) => value !== null && value !== undefined)CODE
HIGH⚡responder/ext/clientgen.py1012 if (formBody !== null && formBody !== undefined) {{CODE
HIGH⚡responder/ext/clientgen.py1012 if (formBody !== null && formBody !== undefined) {{CODE
HIGH⚡responder/ext/clientgen.py1013 if (this.validate && requestSchema) {{CODE
HIGH⚡responder/ext/clientgen.py1018 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py1018 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py1026 init.body = form.toString();CODE
HIGH⚡responder/ext/clientgen.py1027 }} else if (multipartBody !== null && multipartBody !== undefined) {{CODE
HIGH⚡responder/ext/clientgen.py1027 }} else if (multipartBody !== null && multipartBody !== undefined) {{CODE
HIGH⚡responder/ext/clientgen.py1030 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py1030 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py1039 }} else if (body !== null && body !== undefined) {{CODE
HIGH⚡responder/ext/clientgen.py1039 }} else if (body !== null && body !== undefined) {{CODE
HIGH⚡responder/ext/clientgen.py1040 if (this.validate && requestSchema) validateValue(body, requestSchema, 'body');CODE
HIGH⚡responder/ext/clientgen.py1048 const payload = text && contentType.includes('json')CODE
HIGH⚡responder/ext/clientgen.py1050 : text || null;CODE
HIGH⚡responder/ext/clientgen.py1050 : text || null;CODE
HIGH⚡responder/ext/clientgen.py1052 if (this.validate && responseSchema) {{CODE
HIGH⚡responder/ext/clientgen.py1061 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py1061 if (value === null || value === undefined) continue;CODE
HIGH⚡responder/ext/clientgen.py1068 const qs = params.toString();CODE
HIGH⚡responder/ext/clientgen.py1072 if (value !== null && value !== undefined) requestHeaders[key] = String(value);CODE
HIGH⚡responder/ext/clientgen.py1072 if (value !== null && value !== undefined) requestHeaders[key] = String(value);CODE
HIGH⚡responder/ext/clientgen.py1075 .filter(([, value]) => value !== null && value !== undefined)CODE
HIGH⚡responder/ext/clientgen.py1075 .filter(([, value]) => value !== null && value !== undefined)CODE
HIGH⚡responder/ext/clientgen.py1087 const payload = text && contentType.includes('json')CODE
HIGH⚡responder/ext/clientgen.py1089 : text || null;CODE
HIGH⚡responder/ext/clientgen.py1089 : text || null;CODE
HIGH⚡responder/ext/clientgen.py1097 data: null, event: null, id: null, retry: null, comment: null,CODE
HIGH⚡responder/ext/clientgen.py1101 comments.push(line.slice(1).replace(/^ /, ''));CODE
49 more matches not shown…
Empty Error Handlers38 hits · 188 pts
SeverityFileLineSnippetContext
HIGHtests/test_verb_decorators.py79except ValueError:CODE
HIGHtests/test_coverage.py87except ValueError:CODE
HIGHtests/test_ws_idle_timeout.py52except WebSocketDisconnect:CODE
HIGHtests/test_dependency_overrides.py61except ValueError:CODE
HIGHexamples/websocket_chat.py87except WebSocketDisconnect:CODE
HIGHresponder/params.py223except (KeyError, TypeError):CODE
HIGHresponder/params.py284except TypeError:CODE
HIGHresponder/models.py701except UnicodeDecodeError:CODE
HIGHresponder/models.py1136except BaseException: # noqa: BLE001, S110 - cleanup of cancelled pumpCODE
HIGHresponder/models.py2096except (TypeError, ValueError):CODE
HIGHresponder/background.py81except ValueError:CODE
HIGHresponder/api.py2139except (AttributeError, TypeError): # e.g. functools.partialCODE
HIGHresponder/formats.py200except TypeError:CODE
HIGHresponder/contracts.py40except (KeyError, TypeError):CODE
HIGHresponder/contracts.py48except TypeError:CODE
HIGHresponder/contracts.py139except TypeError:CODE
HIGHresponder/contracts.py181except TypeError:CODE
HIGHresponder/routes.py271except (KeyError, TypeError):CODE
HIGHresponder/routes.py287except TypeError:CODE
HIGHresponder/routes.py305except (KeyError, TypeError):CODE
HIGHresponder/routes.py315except TypeError:CODE
HIGHresponder/routes.py325except (KeyError, TypeError):CODE
HIGHresponder/routes.py335except TypeError:CODE
HIGHresponder/routes.py363except (KeyError, TypeError):CODE
HIGHresponder/routes.py378except TypeError:CODE
HIGHresponder/routes.py393except (KeyError, TypeError):CODE
HIGHresponder/routes.py407except TypeError:CODE
HIGHresponder/routes.py427except (KeyError, TypeError):CODE
HIGHresponder/routes.py448except TypeError:CODE
HIGHresponder/routes.py499except (KeyError, TypeError):CODE
HIGHresponder/routes.py519except TypeError:CODE
HIGHresponder/routes.py583except (KeyError, TypeError):CODE
HIGHresponder/routes.py620except TypeError:CODE
HIGHresponder/routes.py815except (KeyError, TypeError):CODE
HIGHresponder/routes.py822except TypeError:CODE
HIGHresponder/routes.py981except (KeyError, TypeError):CODE
HIGHresponder/routes.py1009except TypeError:CODE
HIGHresponder/routes.py851except StopAsyncIteration:CODE
Unused Imports74 hits · 70 pts
SeverityFileLineSnippetContext
LOWtests/test_devex_810.py267CODE
LOWtests/test_logging.py6CODE
LOWtests/test_redis_backends.py31CODE
LOWtests/test_typed_response_contracts_910.py3CODE
LOWtests/test_typed_streams_920.py3CODE
LOWexamples/user.py15CODE
LOWexamples/atelier.py16CODE
LOWexamples/shortlinks.py16CODE
LOWexamples/marimo_mount.py15CODE
LOWexamples/fortunes.py15CODE
LOWexamples/websocket_chat.py12CODE
LOWexamples/helloworld.py12CODE
LOWexamples/webhooks.py25CODE
LOWexamples/tarot.py16CODE
LOWexamples/sse_stream.py12CODE
LOWexamples/todo.py16CODE
LOWexamples/rest_api.py15CODE
LOWexamples/lifespan.py12CODE
LOWexamples/notebooks/hello.py3CODE
LOWscripts/release.py1CODE
LOWscripts/release_check.py1CODE
LOWresponder/params.py17CODE
LOWresponder/csrf.py11CODE
LOWresponder/models.py1CODE
LOWresponder/__init__.py8CODE
LOWresponder/__init__.py9CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py10CODE
LOWresponder/__init__.py21CODE
LOWresponder/__init__.py22CODE
LOWresponder/__init__.py22CODE
LOWresponder/__init__.py22CODE
LOWresponder/__init__.py22CODE
LOWresponder/__init__.py22CODE
LOWresponder/__init__.py22CODE
LOWresponder/__init__.py22CODE
LOWresponder/__init__.py23CODE
LOWresponder/__init__.py24CODE
LOWresponder/__init__.py25CODE
LOWresponder/core.py1CODE
LOWresponder/core.py1CODE
LOWresponder/core.py2CODE
LOWresponder/core.py2CODE
LOWresponder/core.py2CODE
LOWresponder/core.py3CODE
LOWresponder/core.py3CODE
LOWresponder/core.py3CODE
LOWresponder/core.py3CODE
LOWresponder/types.py14CODE
LOWresponder/types.py20CODE
LOWresponder/routing.py11CODE
LOWresponder/formats.py1CODE
LOWresponder/contracts.py3CODE
14 more matches not shown…
Excessive Try-Catch Wrapping52 hits · 49 pts
SeverityFileLineSnippetContext
LOWtests/test_concurrency_hardening.py35 except Exception as exc: # a lock-free version raised "changed size"CODE
MEDIUMtests/test_concurrency_hardening.py31def reader():CODE
MEDIUMtests/test_plumbing_801.py306def construct():CODE
LOW⚡tests/test_plumbing_801.py309 except Exception as exc: # pragma: no cover - failure pathCODE
LOWtests/test_sessions_memory_bounds.py145 except Exception as exc: # an unlocked version can corrupt the dictCODE
MEDIUMtests/test_sessions_memory_bounds.py137def worker(offset):CODE
LOWresponder/params.py233 except Exception:CODE
LOWresponder/params.py267 except Exception:CODE
LOWresponder/models.py1114 except Exception as exc: # surface a producer error to the consumerCODE
MEDIUMresponder/models.py1110def pump():CODE
LOWresponder/background.py96 except Exception:CODE
MEDIUMresponder/background.py93def on_future_done(fs):CODE
LOW⚡responder/api.py247 except Exception as exc:CODE
LOWresponder/api.py985 except Exception as exc:CODE
LOWresponder/contracts.py135 except Exception:CODE
LOWresponder/contracts.py174 except Exception:CODE
LOWresponder/errors.py227 except Exception:CODE
LOWresponder/errors.py250 except Exception:CODE
LOWresponder/testing.py222 except Exception as exc:CODE
MEDIUMresponder/routes.py848def teardown_async():CODE
MEDIUMresponder/routes.py1610def validated_items():CODE
LOW⚡responder/routes.py1619 except Exception as exc:CODE
LOW⚡responder/routes.py1629 except Exception as exc:CODE
LOW⚡responder/routes.py1636 except Exception as exc:CODE
LOWresponder/routes.py311 except Exception:CODE
LOWresponder/routes.py331 except Exception:CODE
LOWresponder/routes.py613 except Exception:CODE
LOWresponder/routes.py648 except Exception as exc:CODE
LOWresponder/routes.py726 except Exception as exc:CODE
LOWresponder/routes.py790 except Exception as exc:CODE
LOWresponder/routes.py1019 except Exception:CODE
LOWresponder/routes.py1367 except Exception as exc:CODE
LOWresponder/routes.py1530 except Exception:CODE
LOWresponder/routes.py1589 except Exception as exc:CODE
LOWresponder/routes.py1601 except Exception as exc:CODE
LOWresponder/routes.py1866 except Exception as exc:CODE
LOWresponder/routes.py1904 except Exception as exc:CODE
LOWresponder/routes.py2160 except Exception:CODE
LOWresponder/routes.py2197 except Exception:CODE
LOWresponder/routes.py2281 except Exception:CODE
LOWresponder/routes.py2576 except Exception:CODE
LOWresponder/ext/sessions.py526 except Exception:CODE
MEDIUMresponder/ext/sessions.py523def _changed(session, initial):CODE
LOWresponder/ext/ratelimit.py382 except Exception as exc:CODE
LOWresponder/ext/ratelimit.py398 except Exception as exc:CODE
LOWresponder/ext/openapi/__init__.py158 except Exception:CODE
LOWresponder/ext/openapi/__init__.py177 except Exception:CODE
LOWresponder/ext/openapi/__init__.py268 except Exception:CODE
LOWresponder/ext/openapi/__init__.py279 except Exception:CODE
LOWresponder/ext/openapi/__init__.py344 except Exception:CODE
LOWresponder/ext/openapi/__init__.py380 except Exception:CODE
LOWresponder/ext/graphql/__init__.py224 except Exception:CODE
Deep Nesting38 hits · 30 pts
SeverityFileLineSnippetContext
LOWresponder/models.py340CODE
LOWresponder/models.py871CODE
LOWresponder/models.py737CODE
LOWresponder/models.py801CODE
LOWresponder/models.py1447CODE
LOWresponder/models.py2052CODE
LOWresponder/models.py2106CODE
LOWresponder/models.py1489CODE
LOWresponder/api.py967CODE
LOWresponder/api.py1451CODE
LOWresponder/api.py971CODE
LOWresponder/api.py1549CODE
LOWresponder/contracts.py144CODE
LOWresponder/testing.py110CODE
LOWresponder/testing.py373CODE
LOWresponder/routes.py625CODE
LOWresponder/routes.py736CODE
LOWresponder/routes.py939CODE
LOWresponder/routes.py977CODE
LOWresponder/routes.py1404CODE
LOWresponder/routes.py1451CODE
LOWresponder/routes.py1533CODE
LOWresponder/routes.py1660CODE
LOWresponder/routes.py2080CODE
LOWresponder/routes.py2632CODE
LOWresponder/routes.py1610CODE
LOWresponder/util/net.py66CODE
LOWresponder/ext/cli.py63CODE
LOWresponder/ext/clientgen.py134CODE
LOWresponder/ext/clientgen.py172CODE
LOWresponder/ext/clientgen.py452CODE
LOWresponder/ext/clientgen.py573CODE
LOWresponder/ext/clientgen.py1165CODE
LOWresponder/ext/clientgen.py1457CODE
LOWresponder/ext/openapi/__init__.py657CODE
LOWresponder/ext/openapi/__init__.py841CODE
LOWresponder/ext/openapi/__init__.py923CODE
LOWresponder/ext/openapi/__init__.py856CODE
Modern Structural Boilerplate25 hits · 24 pts
SeverityFileLineSnippetContext
LOWtests/util.py17logger = logging.getLogger(__name__)CODE
LOWresponder/params.py30__all__ = ["Query", "Header", "Cookie", "Path", "Form", "File", "Depends"]CODE
LOWresponder/csrf.py22__all__ = ["CSRF_FIELD_NAME", "CSRF_HEADER_NAME", "enforce_csrf", "get_csrf_token"]CODE
LOWresponder/models.py15__all__ = ["Request", "Response", "QueryDict", "UploadFile"]CODE
LOWresponder/background.py9__all__ = ["BackgroundQueue"]CODE
LOWresponder/__init__.py27__all__ = [CODE
LOWresponder/core.py10__all__ = [CODE
LOWresponder/types.py22__all__ = ["Handler", "Hook", "Dependency", "Request", "Response", "SSE"]CODE
LOWresponder/templates.py4__all__ = ["Templates"]CODE
LOWresponder/api.py13__all__ = ["API"]CODE
LOWresponder/routing.py21__all__ = ["Router"]CODE
LOWresponder/testing.py15__all__ = [CODE
LOW⚡responder/routes.py1510 def _set_typed_stream_headers(self, response: Response) -> None:CODE
LOWresponder/routes.py27__all__ = [CODE
LOWresponder/util/cmd.py19logger = logging.getLogger(__name__)CODE
LOWresponder/util/net.py8__all__ = ["combined_header_getter", "resolve_client_ip"]CODE
LOWresponder/util/python.py17__all__ = [CODE
LOWresponder/util/python.py23logger = logging.getLogger(__name__)CODE
LOWresponder/ext/auth.py45__all__ = [CODE
LOWresponder/ext/logging.py35__all__ = [CODE
LOWresponder/ext/query.py28__all__ = ["parse_sort", "sort_items", "filter_items"]CODE
LOWresponder/ext/cli.py60logger = logging.getLogger(__name__)CODE
LOWresponder/ext/clientgen.py18__all__ = ["generate_client", "write_client"]CODE
LOWresponder/ext/pagination.py32__all__ = ["Page", "paginate", "set_pagination_headers"]CODE
LOWresponder/ext/pagination.py90def set_pagination_headers(req: Any, resp: Any, page: Page) -> None:CODE
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHresponder/util/cmd.py54 Invoke `responder build` command. Args: path: Path to the application to build ReSTRING
HIGHresponder/util/python.py27 Load Python code from a file path or module name. Warning: This function executes arbitrary Python codSTRING
Modern AI Meta-Vocabulary3 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml179 "S603", # Release orchestration intentionally shells out to git/gh/uv/twine.CODE
MEDIUMtests/test_round3.py10# --- WebSocket dependency injection & path params ---COMMENT
MEDIUMdocs/source/sandbox.md63│ ├── routes.py # Router, Route, WebSocketRoute, dependency injectionCODE
AI Structural Patterns8 hits · 7 pts
SeverityFileLineSnippetContext
LOWresponder/models.py1900CODE
LOWresponder/api.py478CODE
LOWresponder/api.py1274CODE
LOWresponder/api.py1451CODE
LOWresponder/routes.py2294CODE
LOWresponder/routes.py2350CODE
LOWresponder/ext/auth.py656CODE
LOWresponder/ext/openapi/__init__.py761CODE
Fake / Example Data4 hits · 3 pts
SeverityFileLineSnippetContext
LOWresponder/models.py1664 resp.background(send_welcome_email, "user@example.com")CODE
LOW⚡responder/background.py25 send_email("user@example.com", "Hello")STRING
LOW⚡responder/background.py33 future = api.background.run(send_email, "user@example.com", "Hello")STRING
LOW⚡responder/background.py36 await api.background(send_email, "user@example.com", "Hello")STRING
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_coverage.py532CODE
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOWresponder/formats.py201 # orjson is stricter than the stdlib in a few cornersCOMMENT
LOWresponder/ext/logging.py41 "RequestIDMiddleware",COMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWresponder/util/cmd.py120 # Check if port is available.COMMENT