The comprehensive WSGI web application library.
This report presents the forensic synthetic code analysis of pallets/werkzeug, a Python project with 6,875 GitHub stars. SynthScan v2.0 examined 38,423 lines of code across 212 source files, recording 509 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 15.9 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 509 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_datastructures.py | 46 | def test_multidict_dict_interop(self): | CODE |
| LOW | tests/test_datastructures.py | 248 | def test_follows_dict_interface(self): | CODE |
| LOW | tests/test_datastructures.py | 310 | def test_multidict_is_hashable(self): | CODE |
| LOW | tests/test_datastructures.py | 352 | def test_multidict_pop_raise_badrequestkeyerror_for_empty_list_value(self): | CODE |
| LOW | tests/test_datastructures.py | 361 | def test_multidict_popitem_raise_badrequestkeyerror_for_empty_list_value(self): | CODE |
| LOW | tests/test_datastructures.py | 392 | def test_getitem_raise_badrequestkeyerror_for_empty_list_value(self): | CODE |
| LOW | tests/test_datastructures.py | 409 | def test_return_default_when_conversion_is_not_possible(self): | CODE |
| LOW | tests/test_datastructures.py | 414 | def test_propagate_exceptions_in_conversion(self): | CODE |
| LOW | tests/test_datastructures.py | 509 | def test_defaults_and_conversion(self): | CODE |
| LOW | tests/test_datastructures.py | 692 | def test_skip_empty_special_vars(self): | CODE |
| LOW | tests/test_datastructures.py | 805 | def test_callback_dict_writes(self): | CODE |
| LOW | tests/test_datastructures.py | 859 | def test_stale_while_revalidate(self): | CODE |
| LOW | tests/test_datastructures.py | 959 | def test_accept_wildcard_specificity(self): | CODE |
| LOW | tests/test_datastructures.py | 966 | def test_accept_equal_quality(self): | CODE |
| LOW | tests/test_datastructures.py | 1043 | def test_mimetype_always_lowercase(self): | CODE |
| LOW | tests/test_datastructures.py | 1048 | def test_bytes_proper_sentinel(self, data): | CODE |
| LOW | tests/test_datastructures.py | 1059 | def test_proxy_can_access_stream_attrs(self, stream): | CODE |
| LOW | tests/test_datastructures.py | 1108 | def test_range_validates_ranges(ranges): | CODE |
| LOW | tests/test_utils.py | 54 | def test_redirect_with_custom_response_class(): | CODE |
| LOW | tests/test_utils.py | 98 | def test_can_set_cached_property(): | CODE |
| LOW | tests/test_utils.py | 109 | def test_invalidate_cached_property(): | CODE |
| LOW | tests/test_utils.py | 135 | def test_inspect_treats_cached_property_as_property(): | CODE |
| LOW | tests/test_utils.py | 194 | def test_import_string_provides_traceback(tmpdir, monkeypatch): | CODE |
| LOW | tests/test_utils.py | 214 | def test_import_string_attribute_error(tmpdir, monkeypatch): | CODE |
| LOW | tests/test_utils.py | 238 | def test_header_set_duplication_bug(): | CODE |
| LOW | tests/test_utils.py | 267 | def test_append_slash_redirect(autocorrect, path, base_url, absolute_location): | CODE |
| LOW | tests/test_security.py | 10 | def test_default_password_method(): | CODE |
| LOW⚡ | tests/test_security.py | 67 | def test_safe_join_empty_trusted(): | CODE |
| LOW⚡ | tests/test_security.py | 74 | def test_safe_join_windows_special(monkeypatch: pytest.MonkeyPatch, name: str) -> None: | CODE |
| LOW⚡ | tests/test_security.py | 80 | def test_safe_join_not_windows_special(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | tests/test_send_file.py | 54 | def test_object_without_mimetype(): | CODE |
| LOW | tests/test_send_file.py | 59 | def test_object_mimetype_from_name(): | CODE |
| LOW | tests/test_send_file.py | 80 | def test_object_attachment_requires_name(): | CODE |
| LOW | tests/test_send_file.py | 122 | def test_no_cache_conditional_default(): | CODE |
| LOW | tests/test_send_file.py | 178 | def test_from_directory_not_found(path): | CODE |
| LOW | tests/test_serving.py | 132 | def test_watchdog_reloader_ignores_opened(mock_trigger_reload: Mock) -> None: | CODE |
| LOW | tests/test_serving.py | 152 | def test_watchdog_reloader_ignores_closed_no_write(mock_trigger_reload: Mock) -> None: | CODE |
| LOW | tests/test_serving.py | 200 | def test_content_type_and_length(standard_app: DevServerClient) -> None: | CODE |
| LOW | tests/test_serving.py | 260 | def test_multiple_headers_concatenated(standard_app: DevServerClient) -> None: | CODE |
| LOW | tests/test_serving.py | 284 | def test_multiline_header_folding(standard_app: DevServerClient) -> None: | CODE |
| LOW | tests/test_serving.py | 303 | def test_streaming_close_response(dev_server: StartDevServer, endpoint: str) -> None: | CODE |
| LOW | tests/test_serving.py | 314 | def test_streaming_chunked_response(dev_server: StartDevServer) -> None: | CODE |
| LOW | tests/test_serving.py | 327 | def test_streaming_chunked_truncation(dev_server: StartDevServer) -> None: | CODE |
| LOW | tests/test_debug.py | 45 | def test_string_subclass_repr(self): | CODE |
| LOW | tests/test_debug.py | 219 | def test_exc_divider_found_on_chained_exception(self): | CODE |
| LOW | tests/test_debug.py | 257 | def test_console_closure_variables(monkeypatch): | CODE |
| LOW | tests/test_debug.py | 268 | def test_chained_exception_cycle(): | CODE |
| LOW⚡ | tests/test_debug.py | 283 | def test_exception_without_traceback(): | CODE |
| LOW⚡ | tests/test_debug.py | 293 | def test_missing_source_lines(mock_getlines: mock.Mock) -> None: | CODE |
| LOW | tests/test_debug.py | 309 | def test_debugged_application_pin_security_false(): | CODE |
| LOW | tests/test_test.py | 55 | def external_redirect_demo_app(environ, start_response): | CODE |
| LOW | tests/test_test.py | 60 | def external_subdomain_redirect_demo_app(environ, start_response): | CODE |
| LOW | tests/test_test.py | 89 | def test_cookiejar_stores_cookie(): | CODE |
| LOW | tests/test_test.py | 115 | def test_cookie_for_different_path(): | CODE |
| LOW | tests/test_test.py | 141 | def test_environ_builder_basics(): | CODE |
| LOW | tests/test_test.py | 162 | def test_environ_builder_data(): | CODE |
| LOW | tests/test_test.py | 192 | def test_environ_builder_json(): | CODE |
| LOW | tests/test_test.py | 206 | def test_environ_builder_headers(): | CODE |
| LOW | tests/test_test.py | 222 | def test_environ_builder_headers_content_type(): | CODE |
| LOW | tests/test_test.py | 236 | def test_envrion_builder_multiple_headers(): | CODE |
| 199 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_datastructures.py | 1 | CODE | |
| LOW | tests/test_utils.py | 1 | CODE | |
| LOW | tests/conftest.py | 1 | CODE | |
| LOW | tests/test_serving.py | 1 | CODE | |
| LOW | tests/test_routing.py | 1 | CODE | |
| LOW | tests/test_wsgi.py | 1 | CODE | |
| LOW | tests/sansio/test_utils.py | 1 | CODE | |
| LOW | examples/cupoftee/__init__.py | 2 | CODE | |
| LOW | examples/i18nurls/__init__.py | 1 | CODE | |
| LOW | examples/simplewiki/__init__.py | 4 | CODE | |
| LOW | examples/coolmagic/__init__.py | 1 | CODE | |
| LOW | examples/plnt/webapp.py | 9 | CODE | |
| LOW | examples/plnt/__init__.py | 2 | CODE | |
| LOW | examples/webpylike/webpylike.py | 12 | CODE | |
| LOW | src/werkzeug/user_agent.py | 1 | CODE | |
| LOW | src/werkzeug/_reloader.py | 1 | CODE | |
| LOW | src/werkzeug/_internal.py | 1 | CODE | |
| LOW | src/werkzeug/serving.py | 15 | CODE | |
| LOW | src/werkzeug/local.py | 1 | CODE | |
| LOW | src/werkzeug/security.py | 1 | CODE | |
| LOW | src/werkzeug/__init__.py | 1 | CODE | |
| LOW | src/werkzeug/__init__.py | 2 | CODE | |
| LOW | src/werkzeug/__init__.py | 3 | CODE | |
| LOW | src/werkzeug/__init__.py | 4 | CODE | |
| LOW | src/werkzeug/test.py | 1 | CODE | |
| LOW | src/werkzeug/formparser.py | 1 | CODE | |
| LOW | src/werkzeug/utils.py | 1 | CODE | |
| LOW | src/werkzeug/http.py | 1 | CODE | |
| LOW | src/werkzeug/exceptions.py | 47 | CODE | |
| LOW | src/werkzeug/urls.py | 1 | CODE | |
| LOW | src/werkzeug/wsgi.py | 1 | CODE | |
| LOW | src/werkzeug/wsgi.py | 11 | CODE | |
| LOW | src/werkzeug/testapp.py | 5 | CODE | |
| LOW | src/werkzeug/middleware/dispatcher.py | 34 | CODE | |
| LOW | src/werkzeug/middleware/proxy_fix.py | 25 | CODE | |
| LOW | src/werkzeug/middleware/shared_data.py | 12 | CODE | |
| LOW | src/werkzeug/middleware/http_proxy.py | 11 | CODE | |
| LOW | src/werkzeug/middleware/profiler.py | 15 | CODE | |
| LOW | src/werkzeug/middleware/lint.py | 16 | CODE | |
| LOW | src/werkzeug/wrappers/request.py | 1 | CODE | |
| LOW | src/werkzeug/wrappers/__init__.py | 1 | CODE | |
| LOW | src/werkzeug/wrappers/__init__.py | 2 | CODE | |
| LOW | src/werkzeug/wrappers/__init__.py | 3 | CODE | |
| LOW | src/werkzeug/wrappers/response.py | 1 | CODE | |
| LOW | src/werkzeug/sansio/multipart.py | 1 | CODE | |
| LOW | src/werkzeug/sansio/request.py | 1 | CODE | |
| LOW | src/werkzeug/sansio/response.py | 1 | CODE | |
| LOW | src/werkzeug/sansio/utils.py | 1 | CODE | |
| LOW | src/werkzeug/sansio/http.py | 1 | CODE | |
| LOW | src/werkzeug/datastructures/auth.py | 1 | CODE | |
| LOW | src/werkzeug/datastructures/mixins.py | 1 | CODE | |
| LOW | src/werkzeug/datastructures/range.py | 1 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 1 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 5 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 6 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 7 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 8 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 9 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 10 | CODE | |
| LOW | src/werkzeug/datastructures/__init__.py | 11 | CODE | |
| 66 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/test_local.py | 92 | ls.push(42) | CODE |
| HIGH⚡ | tests/test_local.py | 100 | ls.push(42) | CODE |
| HIGH⚡ | tests/test_local.py | 102 | ls.push(23) | CODE |
| HIGH⚡ | tests/test_local.py | 112 | ls.push([1, 2]) | CODE |
| HIGH⚡ | tests/test_local.py | 114 | ls.push((1, 2)) | CODE |
| HIGH⚡ | tests/test_local.py | 123 | ls.push(1) | CODE |
| HIGH⚡ | tests/test_local.py | 126 | ls.push(1) | CODE |
| HIGH | tests/test_local.py | 203 | local_stack.push(42) | CODE |
| HIGH⚡ | tests/test_wsgi.py | 157 | # this expects stream.readable() to exist and return true | COMMENT |
| HIGH | src/werkzeug/debug/console.py | 161 | ThreadedStream.push() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/shorty/utils.py | 0 | return true if there are pages before the current one. | STRING |
| HIGH | examples/couchy/utils.py | 0 | return true if there are pages before the current one. | STRING |
| HIGH | examples/plnt/utils.py | 0 | return true if there are pages before the current one. | STRING |
| HIGH | examples/shorty/utils.py | 0 | return true if there are pages after the current one. | STRING |
| HIGH | examples/couchy/utils.py | 0 | return true if there are pages after the current one. | STRING |
| HIGH | examples/plnt/utils.py | 0 | return true if there are pages after the current one. | STRING |
| HIGH | src/werkzeug/test.py | 0 | the mimetype parameters as dict. for example if the content type is ``text/html; charset=utf-8`` the params would be ``{ | STRING |
| HIGH | src/werkzeug/sansio/request.py | 0 | the mimetype parameters as dict. for example if the content type is ``text/html; charset=utf-8`` the params would be ``{ | STRING |
| HIGH | src/werkzeug/sansio/response.py | 0 | the mimetype parameters as dict. for example if the content type is ``text/html; charset=utf-8`` the params would be ``{ | STRING |
| HIGH | src/werkzeug/datastructures/file_storage.py | 0 | the mimetype parameters as dict. for example if the content type is ``text/html; charset=utf-8`` the params would be ``{ | STRING |
| HIGH | src/werkzeug/datastructures/csp.py | 0 | parse a header value and create an instance of this class. .. versionadded:: 3.2 | STRING |
| HIGH | src/werkzeug/datastructures/cache_control.py | 0 | parse a header value and create an instance of this class. .. versionadded:: 3.2 | STRING |
| HIGH | src/werkzeug/datastructures/accept.py | 0 | parse a header value and create an instance of this class. .. versionadded:: 3.2 | STRING |
| HIGH | src/werkzeug/datastructures/structures.py | 0 | parse a header value and create an instance of this class. .. versionadded:: 3.2 | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/wsecho.py | 20 | CODE | |
| LOW | examples/shorty/views.py | 14 | CODE | |
| LOW | examples/cupoftee/pages.py | 61 | CODE | |
| LOW | examples/couchy/views.py | 13 | CODE | |
| LOW | examples/simplewiki/actions.py | 37 | CODE | |
| LOW | examples/simplewiki/actions.py | 134 | CODE | |
| LOW | examples/plnt/sync.py | 17 | CODE | |
| LOW | examples/webpylike/webpylike.py | 43 | CODE | |
| LOW | src/werkzeug/_reloader.py | 68 | CODE | |
| LOW | src/werkzeug/serving.py | 439 | CODE | |
| LOW | src/werkzeug/serving.py | 707 | CODE | |
| LOW | src/werkzeug/local.py | 478 | CODE | |
| LOW | src/werkzeug/security.py | 27 | CODE | |
| LOW | src/werkzeug/test.py | 56 | CODE | |
| LOW | src/werkzeug/test.py | 161 | CODE | |
| LOW | src/werkzeug/test.py | 281 | CODE | |
| LOW | src/werkzeug/test.py | 1062 | CODE | |
| LOW | src/werkzeug/formparser.py | 392 | CODE | |
| LOW | src/werkzeug/utils.py | 329 | CODE | |
| LOW | src/werkzeug/http.py | 327 | CODE | |
| LOW | src/werkzeug/http.py | 400 | CODE | |
| LOW | src/werkzeug/http.py | 552 | CODE | |
| LOW | src/werkzeug/http.py | 1524 | CODE | |
| LOW | src/werkzeug/middleware/shared_data.py | 104 | CODE | |
| LOW | src/werkzeug/middleware/lint.py | 166 | CODE | |
| LOW | src/werkzeug/wrappers/response.py | 438 | CODE | |
| LOW | src/werkzeug/sansio/multipart.py | 140 | CODE | |
| LOW | src/werkzeug/sansio/multipart.py | 300 | CODE | |
| LOW | src/werkzeug/sansio/http.py | 13 | CODE | |
| LOW | src/werkzeug/datastructures/range.py | 123 | CODE | |
| LOW | src/werkzeug/datastructures/cache_control.py | 128 | CODE | |
| LOW | src/werkzeug/datastructures/structures.py | 24 | CODE | |
| LOW | src/werkzeug/datastructures/structures.py | 183 | CODE | |
| LOW | src/werkzeug/datastructures/structures.py | 601 | CODE | |
| LOW | src/werkzeug/datastructures/structures.py | 645 | CODE | |
| LOW | src/werkzeug/datastructures/headers.py | 168 | CODE | |
| LOW | src/werkzeug/datastructures/headers.py | 490 | CODE | |
| LOW | src/werkzeug/routing/matcher.py | 39 | CODE | |
| LOW | src/werkzeug/routing/matcher.py | 75 | CODE | |
| LOW | src/werkzeug/routing/matcher.py | 85 | CODE | |
| LOW | src/werkzeug/routing/rules.py | 270 | CODE | |
| LOW | src/werkzeug/routing/rules.py | 605 | CODE | |
| LOW | src/werkzeug/routing/map.py | 828 | CODE | |
| LOW | src/werkzeug/debug/tbtools.py | 126 | CODE | |
| LOW | src/werkzeug/debug/__init__.py | 55 | CODE | |
| LOW | src/werkzeug/debug/__init__.py | 61 | CODE | |
| LOW | src/werkzeug/debug/__init__.py | 472 | CODE | |
| LOW | src/werkzeug/debug/__init__.py | 538 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_debug.py | 286 | except Exception as e: | CODE |
| MEDIUM | tests/test_debug.py | 268 | def test_chained_exception_cycle(): | CODE |
| LOW | examples/cupoftee/db.py | 66 | except Exception: | CODE |
| MEDIUM | examples/cupoftee/db.py | 62 | def close(self): | CODE |
| LOW | examples/cupoftee/network.py | 108 | except Exception: | CODE |
| LOW | examples/couchy/models.py | 36 | except Exception: | CODE |
| LOW | examples/couchy/application.py | 23 | except Exception: | CODE |
| LOW | src/werkzeug/serving.py | 372 | except Exception as e: | CODE |
| LOW | src/werkzeug/serving.py | 386 | except Exception: | CODE |
| LOW | src/werkzeug/serving.py | 400 | except Exception as e: | CODE |
| MEDIUM | src/werkzeug/serving.py | 109 | def read_chunk_len(self) -> int: | CODE |
| LOW | src/werkzeug/middleware/lint.py | 223 | except Exception: | CODE |
| LOW | src/werkzeug/sansio/request.py | 148 | except Exception as e: | CODE |
| MEDIUM | src/werkzeug/sansio/request.py | 145 | def __repr__(self) -> str: | CODE |
| LOW | src/werkzeug/datastructures/file_storage.py | 128 | except Exception: | CODE |
| LOW | src/werkzeug/debug/console.py | 178 | except Exception: | CODE |
| MEDIUM | src/werkzeug/debug/console.py | 70 | def fetch() -> str: | CODE |
| LOW | src/werkzeug/debug/__init__.py | 349 | except Exception as e: | CODE |
| LOW | src/werkzeug/debug/__init__.py | 369 | except Exception: | CODE |
| LOW | src/werkzeug/debug/repr.py | 220 | except Exception: | CODE |
| LOW | src/werkzeug/debug/repr.py | 237 | except Exception: | CODE |
| LOW | src/werkzeug/debug/repr.py | 260 | except Exception: | CODE |
| MEDIUM | src/werkzeug/debug/repr.py | 217 | def fallback_repr(self) -> str: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_routing.py | 208 | # Check if the actual routes works | COMMENT |
| LOW⚡ | tests/test_routing.py | 212 | # Check if exceptions are correct | COMMENT |
| LOW⚡ | tests/test_routing.py | 220 | # Check if the actual routes works | COMMENT |
| LOW⚡ | tests/test_routing.py | 223 | # Check if exceptions are correct | COMMENT |
| LOW | tests/test_routing.py | 184 | # Check if the actual routes works | COMMENT |
| LOW | tests/test_routing.py | 189 | # Check if exceptions are correct | COMMENT |
| LOW | src/werkzeug/debug/__init__.py | 321 | # Set _pin to None explicitly to prevent regeneration by the getter | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/werkzeug/serving.py | 956 | CODE | |
| LOW | src/werkzeug/test.py | 281 | CODE | |
| LOW | src/werkzeug/utils.py | 329 | CODE | |
| LOW | src/werkzeug/http.py | 1369 | CODE | |
| LOW | src/werkzeug/sansio/response.py | 185 | CODE | |
| LOW | src/werkzeug/sansio/http.py | 13 | CODE | |
| LOW | src/werkzeug/routing/rules.py | 458 | CODE | |
| LOW | src/werkzeug/routing/map.py | 101 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/werkzeug/local.py | 561 | # __get__ (proxying descriptor not supported) | COMMENT |
| LOW | src/werkzeug/wrappers/request.py | 81 | COMMENT | |
| LOW | src/werkzeug/wrappers/response.py | 121 | #: | COMMENT |
| LOW | src/werkzeug/sansio/multipart.py | 101 | # Note in the below \h i.e. horizontal whitespace is used | COMMENT |
| LOW | src/werkzeug/sansio/request.py | 61 | """ | COMMENT |
| LOW | src/werkzeug/sansio/request.py | 121 | remote_addr: str | None, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/coolmagic/application.py | 1 | """This module provides the WSGI application. | STRING |
| MEDIUM | src/werkzeug/formparser.py | 132 | """This class implements parsing of form data for Werkzeug. By itself | STRING |
| MEDIUM | src/werkzeug/routing/matcher.py | 88 | # This function is meant to be called recursively, and will attempt | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/werkzeug/wrappers/response.py | 289 | def set_data(self, value: bytes | str) -> None: | CODE |
| LOW | src/werkzeug/sansio/response.py | 539 | def set_etag(self, etag: str, weak: bool = False) -> None: | CODE |
| LOW | src/werkzeug/routing/matcher.py | 66 | def _update_state(state: State) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_debug.py | 222 | def do_something(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/werkzeug/routing/__init__.py | 76 | And here is how you can match URLs: | STRING |