AI Slop Code RIsk Monitor

pallets/werkzeug

The comprehensive WSGI web application library.

18.5 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for pallets/werkzeug, a Python project with 6,879 GitHub stars. SynthScan examined 40,539 lines of code across 216 source files, recording 532 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 18.5 (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.

18.5
Adjusted Signal
18.5
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
6.9K
Stars
Python
Language
40.5K
Lines of Code
216
Files
532
Pattern Hits
2026-10-12
Scan Date
0.24
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 32.1/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 21.7/100 · LOW

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

Agent Over-Engineering Ratio 44.5/100 · MEDIUM

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

PR Review Velocity Impact 63.0/100 · HIGH

Which changes need focused human review? 532 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 51MEDIUM 10LOW 471

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 532 distinct pattern matches across 14 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 Identifiers249 hits · 232 pts
SeverityFileLineSnippetContext
LOWtests/test_datastructures.py48 def test_multidict_dict_interop(self):CODE
LOWtests/test_datastructures.py250 def test_follows_dict_interface(self):CODE
LOWtests/test_datastructures.py325 def test_multidict_pop_raise_badrequestkeyerror_for_empty_list_value(self):CODE
LOWtests/test_datastructures.py334 def test_multidict_popitem_raise_badrequestkeyerror_for_empty_list_value(self):CODE
LOWtests/test_datastructures.py365 def test_getitem_raise_badrequestkeyerror_for_empty_list_value(self):CODE
LOWtests/test_datastructures.py463 def test_defaults_and_conversion(self):CODE
LOWtests/test_datastructures.py646 def test_skip_empty_special_vars(self):CODE
LOWtests/test_datastructures.py749 def test_callback_dict_writes(self):CODE
LOWtests/test_datastructures.py803 def test_stale_while_revalidate(self):CODE
LOWtests/test_datastructures.py903 def test_accept_wildcard_specificity(self):CODE
LOWtests/test_datastructures.py910 def test_accept_equal_quality(self):CODE
LOWtests/test_datastructures.py987 def test_mimetype_always_lowercase(self):CODE
LOWtests/test_datastructures.py992 def test_bytes_proper_sentinel(self, data):CODE
LOWtests/test_datastructures.py1003 def test_proxy_can_access_stream_attrs(self, stream):CODE
LOWtests/test_datastructures.py1077def test_etag_strong_comparison(header: ETagSet, etag: ETag, expect: bool) -> None:CODE
LOWtests/test_datastructures.py1098def test_etag_weak_comparison(header: ETagSet, etag: ETag, expect: bool) -> None:CODE
LOWtests/test_utils.py56def test_redirect_with_custom_response_class():CODE
LOWtests/test_utils.py100def test_can_set_cached_property():CODE
LOWtests/test_utils.py111def test_invalidate_cached_property():CODE
LOWtests/test_utils.py137def test_inspect_treats_cached_property_as_property():CODE
LOWtests/test_utils.py194def test_import_string_provides_traceback(tmpdir, monkeypatch):CODE
LOWtests/test_utils.py214def test_import_string_attribute_error(tmpdir, monkeypatch):CODE
LOWtests/test_utils.py238def test_header_set_duplication_bug():CODE
LOWtests/test_utils.py267def test_append_slash_redirect(autocorrect, path, base_url, absolute_location):CODE
LOWtests/test_security.py10def test_default_password_method():CODE
LOW⚡tests/test_security.py67def test_safe_join_empty_trusted():CODE
LOW⚡tests/test_security.py74def test_safe_join_windows_special(monkeypatch: pytest.MonkeyPatch, name: str) -> None:CODE
LOW⚡tests/test_security.py80def test_safe_join_not_windows_special(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_send_file.py60def test_object_mimetype_from_name() -> None:CODE
LOWtests/test_send_file.py81def test_object_attachment_requires_name():CODE
LOWtests/test_send_file.py123def test_no_cache_conditional_default():CODE
LOWtests/test_send_file.py179def test_from_directory_not_found(path):CODE
LOWtests/test_serving.py132def test_watchdog_reloader_ignores_opened(mock_trigger_reload: Mock) -> None:CODE
LOWtests/test_serving.py152def test_watchdog_reloader_ignores_closed_no_write(mock_trigger_reload: Mock) -> None:CODE
LOWtests/test_serving.py200def test_content_type_and_length(standard_app: DevServerClient) -> None:CODE
LOWtests/test_serving.py260def test_multiple_headers_concatenated(standard_app: DevServerClient) -> None:CODE
LOWtests/test_serving.py284def test_multiline_header_folding(standard_app: DevServerClient) -> None:CODE
LOWtests/test_serving.py303def test_streaming_close_response(dev_server: StartDevServer, endpoint: str) -> None:CODE
LOWtests/test_serving.py314def test_streaming_chunked_response(dev_server: StartDevServer) -> None:CODE
LOWtests/test_serving.py327def test_streaming_chunked_truncation(dev_server: StartDevServer) -> None:CODE
LOWtests/test_debug.py45 def test_string_subclass_repr(self):CODE
LOWtests/test_debug.py219 def test_exc_divider_found_on_chained_exception(self):CODE
LOWtests/test_debug.py257def test_console_closure_variables(monkeypatch):CODE
LOWtests/test_debug.py268def test_chained_exception_cycle():CODE
LOW⚡tests/test_debug.py283def test_exception_without_traceback():CODE
LOW⚡tests/test_debug.py293def test_missing_source_lines(mock_getlines: mock.Mock) -> None:CODE
LOWtests/test_debug.py309def test_debugged_application_pin_security_false():CODE
LOWtests/test_apply_range.py88def test_precondition_applied() -> None:CODE
LOWtests/test_test.py54def external_redirect_demo_app(environ, start_response):CODE
LOWtests/test_test.py59def external_subdomain_redirect_demo_app(environ, start_response):CODE
LOWtests/test_test.py88def test_cookiejar_stores_cookie():CODE
LOWtests/test_test.py114def test_cookie_for_different_path():CODE
LOWtests/test_test.py140def test_environ_builder_basics():CODE
LOWtests/test_test.py161def test_environ_builder_data():CODE
LOWtests/test_test.py191def test_environ_builder_json():CODE
LOWtests/test_test.py205def test_environ_builder_headers():CODE
LOWtests/test_test.py221def test_environ_builder_headers_content_type():CODE
LOWtests/test_test.py235def test_envrion_builder_multiple_headers():CODE
LOWtests/test_test.py243def test_environ_builder_paths():CODE
LOWtests/test_test.py276def test_environ_builder_content_type():CODE
189 more matches not shown…
Empty Error Handlers30 hits · 150 pts
SeverityFileLineSnippetContext
HIGHexamples/manage-couchy.py71except ImportError:CODE
HIGHexamples/manage-shorty.py73except ImportError:CODE
HIGHexamples/manage-plnt.py111except ImportError:CODE
HIGHexamples/manage-webpylike.py57except ImportError:CODE
HIGHexamples/manage-i18nurls.py53except ImportError:CODE
HIGHexamples/manage-simplewiki.py74except ImportError:CODE
HIGHexamples/manage-coolmagic.py53except ImportError:CODE
HIGHexamples/cupoftee/db.py66except Exception:CODE
HIGHexamples/cupoftee/db.py44except KeyError:CODE
HIGHexamples/cupoftee/network.py108except Exception:CODE
HIGHexamples/cupoftee/network.py64except ServerError:CODE
HIGHsrc/werkzeug/_reloader.py418except KeyboardInterrupt:CODE
HIGHsrc/werkzeug/serving.py246except AttributeError:CODE
HIGHsrc/werkzeug/serving.py824except KeyboardInterrupt:CODE
HIGHsrc/werkzeug/serving.py394except Exception:CODE
HIGHsrc/werkzeug/utils.py445except OSError:CODE
HIGHsrc/werkzeug/urls.py191except UnicodeDecodeError:CODE
HIGHsrc/werkzeug/wsgi.py336except AttributeError:CODE
HIGHsrc/werkzeug/middleware/lint.py226except Exception:CODE
HIGHsrc/werkzeug/datastructures/file_storage.py143except Exception:CODE
HIGHsrc/werkzeug/datastructures/structures.py332except (ValueError, TypeError):CODE
HIGHsrc/werkzeug/datastructures/headers.py462except KeyError:CODE
HIGHsrc/werkzeug/datastructures/set.py90except KeyError:CODE
HIGHsrc/werkzeug/routing/rules.py104except ValueError:CODE
HIGHsrc/werkzeug/routing/map.py728except RequestRedirect:CODE
HIGHsrc/werkzeug/routing/map.py743except HTTPException:CODE
HIGHsrc/werkzeug/debug/__init__.py83except OSError:CODE
HIGHsrc/werkzeug/debug/__init__.py99except OSError:CODE
HIGHsrc/werkzeug/debug/__init__.py121except OSError:CODE
HIGHsrc/werkzeug/debug/repr.py260except Exception:CODE
Unused Imports131 hits · 124 pts
SeverityFileLineSnippetContext
LOWtests/test_datastructures.py1CODE
LOWtests/test_utils.py1CODE
LOWtests/conftest.py1CODE
LOWtests/test_send_file.py1CODE
LOWtests/test_serving.py1CODE
LOWtests/test_apply_range.py1CODE
LOWtests/test_routing.py1CODE
LOWtests/test_apply_conditions.py1CODE
LOWtests/test_wsgi.py1CODE
LOWtests/sansio/test_utils.py1CODE
LOWexamples/shorty/application.py2CODE
LOWexamples/shorty/application.py6CODE
LOWexamples/cupoftee/__init__.py2CODE
LOWexamples/i18nurls/__init__.py1CODE
LOWexamples/couchy/application.py2CODE
LOWexamples/couchy/application.py6CODE
LOWexamples/simplewiki/__init__.py4CODE
LOWexamples/simplewiki/application.py9CODE
LOWexamples/simplewiki/utils.py11CODE
LOWexamples/coolmagic/__init__.py1CODE
LOWexamples/plnt/webapp.py4CODE
LOWexamples/plnt/webapp.py7CODE
LOWexamples/plnt/webapp.py9CODE
LOWexamples/plnt/__init__.py2CODE
LOWexamples/webpylike/webpylike.py12CODE
LOWsrc/werkzeug/_header_property.py1CODE
LOWsrc/werkzeug/user_agent.py1CODE
LOWsrc/werkzeug/_reloader.py1CODE
LOWsrc/werkzeug/_internal.py1CODE
LOWsrc/werkzeug/serving.py15CODE
LOWsrc/werkzeug/local.py1CODE
LOWsrc/werkzeug/security.py1CODE
LOWsrc/werkzeug/__init__.py1CODE
LOWsrc/werkzeug/__init__.py2CODE
LOWsrc/werkzeug/__init__.py3CODE
LOWsrc/werkzeug/__init__.py4CODE
LOWsrc/werkzeug/test.py1CODE
LOWsrc/werkzeug/formparser.py1CODE
LOWsrc/werkzeug/utils.py1CODE
LOWsrc/werkzeug/http.py1CODE
LOWsrc/werkzeug/exceptions.py47CODE
LOWsrc/werkzeug/urls.py1CODE
LOWsrc/werkzeug/wsgi.py1CODE
LOWsrc/werkzeug/testapp.py5CODE
LOWsrc/werkzeug/middleware/dispatcher.py34CODE
LOWsrc/werkzeug/middleware/proxy_fix.py31CODE
LOWsrc/werkzeug/middleware/shared_data.py9CODE
LOWsrc/werkzeug/middleware/http_proxy.py11CODE
LOWsrc/werkzeug/middleware/profiler.py15CODE
LOWsrc/werkzeug/middleware/lint.py16CODE
LOWsrc/werkzeug/wrappers/request.py1CODE
LOWsrc/werkzeug/wrappers/__init__.py1CODE
LOWsrc/werkzeug/wrappers/__init__.py2CODE
LOWsrc/werkzeug/wrappers/__init__.py3CODE
LOWsrc/werkzeug/wrappers/response.py1CODE
LOWsrc/werkzeug/sansio/multipart.py1CODE
LOWsrc/werkzeug/sansio/request.py1CODE
LOWsrc/werkzeug/sansio/response.py1CODE
LOWsrc/werkzeug/sansio/utils.py1CODE
LOWsrc/werkzeug/sansio/http.py1CODE
71 more matches not shown…
Cross-Language Confusion10 hits · 74 pts
SeverityFileLineSnippetContext
HIGH⚡tests/test_local.py92 ls.push(42)CODE
HIGH⚡tests/test_local.py100 ls.push(42)CODE
HIGH⚡tests/test_local.py102 ls.push(23)CODE
HIGH⚡tests/test_local.py112 ls.push([1, 2])CODE
HIGH⚡tests/test_local.py114 ls.push((1, 2))CODE
HIGH⚡tests/test_local.py123 ls.push(1)CODE
HIGH⚡tests/test_local.py126 ls.push(1)CODE
HIGHtests/test_local.py203 local_stack.push(42)CODE
HIGH⚡tests/test_wsgi.py138 # this expects stream.readable() to exist and return trueCOMMENT
HIGHsrc/werkzeug/debug/console.py162 ThreadedStream.push()CODE
Cross-File Repetition11 hits · 55 pts
SeverityFileLineSnippetContext
HIGHexamples/shorty/utils.py0return true if there are pages before the current one.STRING
HIGHexamples/couchy/utils.py0return true if there are pages before the current one.STRING
HIGHexamples/plnt/utils.py0return true if there are pages before the current one.STRING
HIGHexamples/shorty/utils.py0return true if there are pages after the current one.STRING
HIGHexamples/couchy/utils.py0return true if there are pages after the current one.STRING
HIGHexamples/plnt/utils.py0return true if there are pages after the current one.STRING
HIGHsrc/werkzeug/datastructures/range.py0parse a header value and create an instance of this class. .. versionadded:: 3.2STRING
HIGHsrc/werkzeug/datastructures/csp.py0parse a header value and create an instance of this class. .. versionadded:: 3.2STRING
HIGHsrc/werkzeug/datastructures/cache_control.py0parse a header value and create an instance of this class. .. versionadded:: 3.2STRING
HIGHsrc/werkzeug/datastructures/accept.py0parse a header value and create an instance of this class. .. versionadded:: 3.2STRING
HIGHsrc/werkzeug/datastructures/set.py0parse a header value and create an instance of this class. .. versionadded:: 3.2STRING
Deep Nesting48 hits · 48 pts
SeverityFileLineSnippetContext
LOWexamples/wsecho.py20CODE
LOWexamples/shorty/views.py14CODE
LOWexamples/cupoftee/pages.py61CODE
LOWexamples/couchy/views.py13CODE
LOWexamples/simplewiki/actions.py37CODE
LOWexamples/simplewiki/actions.py134CODE
LOWexamples/plnt/sync.py17CODE
LOWexamples/webpylike/webpylike.py43CODE
LOWsrc/werkzeug/_reloader.py69CODE
LOWsrc/werkzeug/serving.py447CODE
LOWsrc/werkzeug/serving.py715CODE
LOWsrc/werkzeug/local.py479CODE
LOWsrc/werkzeug/security.py27CODE
LOWsrc/werkzeug/test.py55CODE
LOWsrc/werkzeug/test.py164CODE
LOWsrc/werkzeug/test.py284CODE
LOWsrc/werkzeug/test.py1074CODE
LOWsrc/werkzeug/formparser.py421CODE
LOWsrc/werkzeug/utils.py312CODE
LOWsrc/werkzeug/http.py298CODE
LOWsrc/werkzeug/http.py363CODE
LOWsrc/werkzeug/http.py517CODE
LOWsrc/werkzeug/http.py1483CODE
LOWsrc/werkzeug/middleware/shared_data.py76CODE
LOWsrc/werkzeug/middleware/lint.py164CODE
LOWsrc/werkzeug/wrappers/response.py443CODE
LOWsrc/werkzeug/sansio/multipart.py140CODE
LOWsrc/werkzeug/sansio/multipart.py306CODE
LOWsrc/werkzeug/sansio/http.py13CODE
LOWsrc/werkzeug/datastructures/range.py203CODE
LOWsrc/werkzeug/datastructures/cache_control.py334CODE
LOWsrc/werkzeug/datastructures/structures.py21CODE
LOWsrc/werkzeug/datastructures/structures.py186CODE
LOWsrc/werkzeug/datastructures/structures.py643CODE
LOWsrc/werkzeug/datastructures/structures.py687CODE
LOWsrc/werkzeug/datastructures/headers.py172CODE
LOWsrc/werkzeug/datastructures/headers.py509CODE
LOWsrc/werkzeug/routing/matcher.py39CODE
LOWsrc/werkzeug/routing/matcher.py75CODE
LOWsrc/werkzeug/routing/matcher.py85CODE
LOWsrc/werkzeug/routing/rules.py270CODE
LOWsrc/werkzeug/routing/rules.py605CODE
LOWsrc/werkzeug/routing/map.py838CODE
LOWsrc/werkzeug/debug/tbtools.py126CODE
LOWsrc/werkzeug/debug/__init__.py56CODE
LOWsrc/werkzeug/debug/__init__.py62CODE
LOWsrc/werkzeug/debug/__init__.py472CODE
LOWsrc/werkzeug/debug/__init__.py538CODE
Excessive Try-Catch Wrapping23 hits · 30 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_debug.py286 except Exception as e:CODE
MEDIUMtests/test_debug.py268def test_chained_exception_cycle():CODE
LOWexamples/cupoftee/db.py66 except Exception:CODE
MEDIUMexamples/cupoftee/db.py62def close(self):CODE
LOWexamples/cupoftee/network.py108 except Exception:CODE
LOWexamples/couchy/models.py36 except Exception:CODE
LOWexamples/couchy/application.py23 except Exception:CODE
LOWsrc/werkzeug/serving.py380 except Exception as e:CODE
LOWsrc/werkzeug/serving.py394 except Exception:CODE
LOWsrc/werkzeug/serving.py408 except Exception as e:CODE
MEDIUMsrc/werkzeug/serving.py111def read_chunk_len(self) -> int:CODE
LOWsrc/werkzeug/middleware/lint.py226 except Exception:CODE
LOWsrc/werkzeug/sansio/request.py152 except Exception as e:CODE
MEDIUMsrc/werkzeug/sansio/request.py149def __repr__(self) -> str:CODE
LOWsrc/werkzeug/datastructures/file_storage.py143 except Exception:CODE
LOWsrc/werkzeug/debug/console.py179 except Exception:CODE
MEDIUMsrc/werkzeug/debug/console.py70def fetch() -> str:CODE
LOWsrc/werkzeug/debug/__init__.py349 except Exception as e:CODE
LOWsrc/werkzeug/debug/__init__.py369 except Exception:CODE
LOWsrc/werkzeug/debug/repr.py220 except Exception:CODE
LOWsrc/werkzeug/debug/repr.py237 except Exception:CODE
LOWsrc/werkzeug/debug/repr.py260 except Exception:CODE
MEDIUMsrc/werkzeug/debug/repr.py217def fallback_repr(self) -> str:CODE
Redundant / Tautological Comments7 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_routing.py208 # Check if the actual routes worksCOMMENT
LOW⚡tests/test_routing.py212 # Check if exceptions are correctCOMMENT
LOW⚡tests/test_routing.py220 # Check if the actual routes worksCOMMENT
LOW⚡tests/test_routing.py223 # Check if exceptions are correctCOMMENT
LOWtests/test_routing.py184 # Check if the actual routes worksCOMMENT
LOWtests/test_routing.py189 # Check if exceptions are correctCOMMENT
LOWsrc/werkzeug/debug/__init__.py320 # Set _pin to None explicitly to prevent regeneration by the getterCOMMENT
AI Structural Patterns9 hits · 9 pts
SeverityFileLineSnippetContext
LOWtests/test_apply_conditions.py16CODE
LOWsrc/werkzeug/serving.py964CODE
LOWsrc/werkzeug/test.py284CODE
LOWsrc/werkzeug/utils.py312CODE
LOWsrc/werkzeug/http.py1323CODE
LOWsrc/werkzeug/sansio/response.py168CODE
LOWsrc/werkzeug/sansio/http.py13CODE
LOWsrc/werkzeug/routing/rules.py458CODE
LOWsrc/werkzeug/routing/map.py113CODE
Self-Referential Comments3 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMexamples/coolmagic/application.py1"""This module provides the WSGI application.STRING
MEDIUMsrc/werkzeug/formparser.py153 """This class implements parsing of form data for Werkzeug. By itselfSTRING
MEDIUMsrc/werkzeug/routing/matcher.py88 # This function is meant to be called recursively, and will attemptCOMMENT
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWsrc/werkzeug/local.py561 __dir__ = _ProxyLookup(dir, fallback=lambda self: [])COMMENT
LOWsrc/werkzeug/wrappers/response.py101 """COMMENT
LOWsrc/werkzeug/wrappers/response.py121 #: This is disabled by default, so responses will send relativeCOMMENT
LOWsrc/werkzeug/sansio/multipart.py101 # Note in the below \h i.e. horizontal whitespace is usedCOMMENT
LOWsrc/werkzeug/sansio/request.py61 """COMMENT
Modern Structural Boilerplate4 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/werkzeug/wrappers/response.py289 def set_data(self, value: bytes | str) -> None:CODE
LOWsrc/werkzeug/sansio/response.py603 def _set_etag(self, value: ETag | tuple[str, bool] | str) -> None:STRING
LOWsrc/werkzeug/sansio/response.py612 def set_etag(self, etag: str, weak: bool = False) -> None:STRING
LOWsrc/werkzeug/routing/matcher.py66 def _update_state(state: State) -> None:CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtests/test_debug.py222 def do_something():CODE
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippetContext
MEDIUMsrc/werkzeug/routing/__init__.py76And here is how you can match URLs:STRING