Repository Analysis

ScrapeGraphAI/Scrapegraph-ai

Python scraper based on AI

42.7 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of ScrapeGraphAI/Scrapegraph-ai, a Python project with 28,350 GitHub stars. SynthScan v2.0 examined 40,181 lines of code across 325 source files, recording 831 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 42.7 places this repository in the Strong 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).

42.7
Adjusted Score
42.7
Raw Score
100%
Time Factor
2026-07-08
Last Push
28.4K
Stars
Python
Language
40.2K
Lines of Code
325
Files
831
Pattern Hits
2026-07-14
Scan Date
0.42
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

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.

CRITICAL 0HIGH 137MEDIUM 185LOW 509

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 831 distinct pattern matches across 14 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.

Self-Referential Comments155 hits · 473 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_fetch_node_timeout.py165 # Create a mock loader that takes longer than timeoutCOMMENT
MEDIUMtests/test_json_scraper_graph.py46 # Create a JSONScraperGraph instanceCOMMENT
MEDIUMtests/test_json_scraper_graph.py103 # Create a JSONScraperGraph instance with a single JSON fileCOMMENT
MEDIUMtests/test_json_scraper_graph.py157 # Create a JSONScraperGraph instanceCOMMENT
MEDIUMtests/test_json_scraper_graph.py203 # Define a custom schemaCOMMENT
MEDIUMtests/test_json_scraper_graph.py220 # Create a JSONScraperGraph instance with a custom schemaCOMMENT
MEDIUMtests/test_script_creator_multi_graph.py172 # Create a dummy graph that raises an exception when execute is called.COMMENT
MEDIUMtests/test_chromium.py1026 # Create a loader instance with a backend that does not have a corresponding scraping method.COMMENT
MEDIUMtests/test_chromium.py1038 # Create a dummy undetected_chromedriver module with a dummy Chrome driver that always fails.COMMENT
MEDIUMtests/test_chromium.py2007 # Create a loader instance with a retry limit of 2 and a short timeout.COMMENT
MEDIUMtests/test_chromium.py295 # Create a dummy undetected_chromedriver module with a dummy Chrome driver.COMMENT
MEDIUMtests/test_chromium.py623 # Create a loader with JS support and a retry_limit of 2 (so one failure is allowed)COMMENT
MEDIUMtests/test_chromium.py1232 # Create a dummy undetected_chromedriver module where Chrome is defined but will not be used.COMMENT
MEDIUMtests/test_chromium.py1491 # Define a dummy scraper that returns an integer (non‐string)COMMENT
MEDIUMtests/test_chromium.py1976 # Create a dummy playwright so that evaluate and content can be calledCOMMENT
MEDIUMtests/test_omni_search_graph.py7# Create a dummy graph class to simulate graph executionCOMMENT
MEDIUMtests/nodes/search_internet_node_test.py18 # Define the modelCOMMENT
MEDIUMtests/nodes/search_link_node_test.py14 # Define the configuration for the graphCOMMENT
MEDIUMtests/nodes/search_link_node_test.py22 # Define the SearchLinkNode with necessary configurationsCOMMENT
MEDIUMtests/nodes/search_link_node_test.py29 # Define the initial state for the nodeCOMMENT
MEDIUMtests/utils/copy_utils_test.py176 original["self"] = original # Create a circular referenceCODE
MEDIUMtests/graphs/screenshot_scraper_test.py13# Define a fixture for the graph configurationCOMMENT
MEDIUMtests/graphs/code_generator_graph_openai_test.py17# Define the output schema for the graphCOMMENT
MEDIUMtests/graphs/xml_scraper_openai_test.py16# Define the test fixtures and helpersCOMMENT
MEDIUMtests/graphs/xml_scraper_openai_test.py49# Define the test casesCOMMENT
MEDIUMtests/graphs/abstract_graph_test.py56 # Create a mock graph with mock nodesCOMMENT
MEDIUMtests/graphs/abstract_graph_test.py61 # Create a TestGraph instance with the mock graphCOMMENT
MEDIUMtests/graphs/abstract_graph_test.py254 # Create a mock graph with mock nodesCOMMENT
MEDIUMtests/graphs/abstract_graph_test.py260 # Create a TestGraph instance with the mock graphCOMMENT
MEDIUMtests/graphs/search_graph_openai_test.py15# Define the test fixtures and helpersCOMMENT
MEDIUMtests/graphs/search_graph_openai_test.py36# Define the test casesCOMMENT
MEDIUMexamples/speech_graph/speech_graph_openai.py23# Define the configuration for the graphCOMMENT
MEDIUMexamples/speech_graph/speech_graph_openai.py39# Create the SpeechGraph instance and run itCOMMENT
MEDIUMexamples/custom_graph/ollama/custom_graph_ollama.py16# Define the configuration for the graphCOMMENT
MEDIUMexamples/custom_graph/ollama/custom_graph_ollama.py31# Define the graph nodesCOMMENT
MEDIUMexamples/custom_graph/ollama/custom_graph_ollama.py75# Create the graph by defining the connectionsCOMMENT
MEDIUMexamples/custom_graph/openai/custom_graph_openai.py22# Define the configuration for the graphCOMMENT
MEDIUMexamples/custom_graph/openai/custom_graph_openai.py34# Define the graph nodesCOMMENT
MEDIUMexamples/custom_graph/openai/custom_graph_openai.py86# Create the graph by defining the connectionsCOMMENT
MEDIUM…mples/json_scraper_graph/ollama/json_scraper_ollama.py26# Define the configuration for the graphCOMMENT
MEDIUM…mples/json_scraper_graph/ollama/json_scraper_ollama.py41# Create the JSONScraperGraph instance and run itCOMMENT
MEDIUM…mples/json_scraper_graph/openai/json_scraper_openai.py26# Define the configuration for the graphCOMMENT
MEDIUM…mples/json_scraper_graph/openai/json_scraper_openai.py39# Create the JSONScraperGraph instance and run itCOMMENT
MEDIUM…mples/json_scraper_graph/openai/omni_scraper_openai.py16# Define the configuration for the graphCOMMENT
MEDIUM…mples/json_scraper_graph/openai/omni_scraper_openai.py32# Create the OmniScraperGraph instance and run itCOMMENT
MEDIUMexamples/json_scraper_graph/openai/md_scraper_openai.py26# Define the configuration for the graphCOMMENT
MEDIUMexamples/json_scraper_graph/openai/md_scraper_openai.py39# Create the DocumentScraperGraph instance and run itCOMMENT
MEDIUM…_generator_graph/ollama/code_generator_graph_ollama.py15# Define the output schema for the graphCOMMENT
MEDIUM…_generator_graph/ollama/code_generator_graph_ollama.py29# Define the configuration for the graphCOMMENT
MEDIUM…_generator_graph/ollama/code_generator_graph_ollama.py54# Create the SmartScraperGraph instance and run itCOMMENT
MEDIUM…_generator_graph/openai/code_generator_graph_openai.py16# Define the output schema for the graphCOMMENT
MEDIUM…_generator_graph/openai/code_generator_graph_openai.py30# Define the configuration for the graphCOMMENT
MEDIUM…_generator_graph/openai/code_generator_graph_openai.py54# Create the SmartScraperGraph instance and run itCOMMENT
MEDIUMexamples/search_graph/ollama/search_graph_ollama.py9# Define the configuration for the graphCOMMENT
MEDIUMexamples/search_graph/ollama/search_graph_ollama.py25# Create the SearchGraph instance and run itCOMMENT
MEDIUM…ples/search_graph/ollama/search_graph_schema_ollama.py13# Define the output schema for the graphCOMMENT
MEDIUM…ples/search_graph/ollama/search_graph_schema_ollama.py27# Define the configuration for the graphCOMMENT
MEDIUM…ples/search_graph/ollama/search_graph_schema_ollama.py42# Create the SearchGraph instance and run itCOMMENT
MEDIUM…amples/search_graph/openai/search_link_graph_openai.py14# Define the configuration for the graphCOMMENT
MEDIUM…amples/search_graph/openai/search_link_graph_openai.py29# Create the SearchLinkGraph instance and run itCOMMENT
95 more matches not shown…
Cross-File Repetition83 hits · 415 pts
SeverityFileLineSnippetContext
HIGH…amples/search_graph/openai/search_link_graph_openai.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…art_scraper_graph/ollama/smart_scraper_multi_ollama.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…les/smart_scraper_graph/ollama/smart_scraper_ollama.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…craper_graph/ollama/smart_scraper_multi_lite_ollama.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…aper_graph/ollama/smart_scraper_multi_concat_ollama.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…mart_scraper_graph/ollama/smart_scraper_lite_ollama.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…aper_graph/openai/smart_scraper_multi_concat_openai.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…les/smart_scraper_graph/openai/smart_scraper_openai.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…craper_graph/openai/smart_scraper_multi_lite_openai.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…art_scraper_graph/openai/smart_scraper_multi_openai.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…mart_scraper_graph/openai/smart_scraper_lite_openai.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…ript_generator_graph/openai/script_generator_openai.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/slow_mo.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/custom_prompt.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/browser_base_integration.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/force_mode.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/proxy_rotation.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/undected_playwright.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/reasoning.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/rag_caching.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/load_yml.py0basic example of scraping pipeline using smartscraperSTRING
HIGHexamples/extras/scrape_do.py0basic example of scraping pipeline using smartscraperSTRING
HIGH…enerator_graph/ollama/script_multi_generator_ollama.py0basic example of scraping pipeline using scriptcreatorgraphSTRING
HIGH…ript_generator_graph/ollama/script_generator_ollama.py0basic example of scraping pipeline using scriptcreatorgraphSTRING
HIGH…enerator_graph/openai/script_generator_multi_openai.py0basic example of scraping pipeline using scriptcreatorgraphSTRING
HIGH…nerator_graph/openai/script_generator_schema_openai.py0basic example of scraping pipeline using scriptcreatorgraphSTRING
HIGHscrapegraphai/nodes/search_node_with_context.py0generates an answer by constructing a prompt from the user's input and the scraped content, querying the language model,STRING
HIGHscrapegraphai/nodes/generate_answer_omni_node.py0generates an answer by constructing a prompt from the user's input and the scraped content, querying the language model,STRING
HIGHscrapegraphai/nodes/search_internet_node.py0generates an answer by constructing a prompt from the user's input and the scraped content, querying the language model,STRING
HIGHscrapegraphai/nodes/merge_answers_node.py0executes the node's logic to concatenate the answers from multiple graph instances into a single answer. args: state (diSTRING
HIGHscrapegraphai/nodes/merge_generated_scripts_node.py0executes the node's logic to concatenate the answers from multiple graph instances into a single answer. args: state (diSTRING
HIGHscrapegraphai/nodes/concat_answers_node.py0executes the node's logic to concatenate the answers from multiple graph instances into a single answer. args: state (diSTRING
HIGHscrapegraphai/nodes/rag_node.py0a node responsible for compressing the input tokens and storing the document in a vector database for retrieval. relevanSTRING
HIGHscrapegraphai/nodes/generate_answer_node_k_level.py0a node responsible for compressing the input tokens and storing the document in a vector database for retrieval. relevanSTRING
HIGHscrapegraphai/nodes/description_node.py0a node responsible for compressing the input tokens and storing the document in a vector database for retrieval. relevanSTRING
HIGHscrapegraphai/nodes/parse_node_depth_k_node.py0executes the node's logic to index the content present in the state. args: state (dict): the current state of the graph.STRING
HIGHscrapegraphai/nodes/parse_node.py0executes the node's logic to index the content present in the state. args: state (dict): the current state of the graph.STRING
HIGHscrapegraphai/integrations/indexify_node.py0executes the node's logic to index the content present in the state. args: state (dict): the current state of the graph.STRING
HIGHscrapegraphai/models/minimax.py0a wrapper for the chatopenai class (xai uses an openai-compatible api) that provides default configuration and could be STRING
HIGHscrapegraphai/models/clod.py0a wrapper for the chatopenai class (xai uses an openai-compatible api) that provides default configuration and could be STRING
HIGHscrapegraphai/models/deepseek.py0a wrapper for the chatopenai class (xai uses an openai-compatible api) that provides default configuration and could be STRING
HIGHscrapegraphai/models/xai.py0a wrapper for the chatopenai class (xai uses an openai-compatible api) that provides default configuration and could be STRING
HIGHscrapegraphai/graphs/search_link_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/depth_search_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/smart_scraper_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/code_generator_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/document_scraper_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/smart_scraper_lite_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/omni_scraper_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/script_creator_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/xml_scraper_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/json_scraper_graph.py0creates the graph of nodes representing the workflow for web scraping. returns: basegraph: a graph instance representingSTRING
HIGHscrapegraphai/graphs/search_link_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
HIGHscrapegraphai/graphs/speech_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
HIGHscrapegraphai/graphs/smart_scraper_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
HIGHscrapegraphai/graphs/screenshot_scraper_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
HIGHscrapegraphai/graphs/document_scraper_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
HIGHscrapegraphai/graphs/omni_scraper_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
HIGHscrapegraphai/graphs/script_creator_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
HIGHscrapegraphai/graphs/xml_scraper_graph.py0executes the web scraping process and returns the answer to the prompt. returns: str: the answer to the prompt.STRING
23 more matches not shown…
Docstring Block Structure51 hits · 255 pts
SeverityFileLineSnippetContext
HIGHscrapegraphai/docloaders/chromium.py174 Asynchronously scrape the content of a given URL using Playwright's sync API and scrolling. Notes: STRING
HIGHscrapegraphai/docloaders/chromium.py323 Asynchronously scrape the content of a given URL using Playwright's async API. Args: url (STRING
HIGHscrapegraphai/docloaders/chromium.py384 Asynchronously scrape the content of a given URL by rendering JavaScript using Playwright. Args: STRING
HIGHscrapegraphai/builders/graph_builder.py14 GraphBuilder is a dynamic tool for constructing web scraping graphs based on user prompts. It utilizes a naturaSTRING
HIGHscrapegraphai/nodes/search_link_node.py94 Filter out relevant links from the webpage that are relavant to prompt. Out of the filtered links, alsoSTRING
HIGHscrapegraphai/nodes/search_node_with_context.py51 Generates an answer by constructing a prompt from the user's input and the scraped content, querying thSTRING
HIGHscrapegraphai/nodes/merge_answers_node.py58 Executes the node's logic to merge the answers from multiple graph instances into a single answer. STRING
HIGHscrapegraphai/nodes/search_internet_node.py61 Generates an answer by constructing a prompt from the user's input and the scraped content, querying thSTRING
HIGHscrapegraphai/nodes/reasoning_node.py57 Generate a refined prompt for the reasoning task based on the user's input and the JSON schema. STRING
HIGHscrapegraphai/nodes/graph_iterator_node.py47 Executes the node's logic to instantiate and run multiple graph instances in parallel. Args: STRING
HIGHscrapegraphai/nodes/graph_iterator_node.py82asynchronously executes the node's logic with multiple graph instances running in parallel, using a semaphore ofSTRING
HIGHscrapegraphai/nodes/generate_answer_csv_node.py71 Generates an answer by constructing a prompt from the user's input and the scraped content, querying thSTRING
HIGHscrapegraphai/nodes/generate_scraper_node.py56 Generates a python script for scraping a website using the specified library. Args: state STRING
HIGHscrapegraphai/nodes/robots_node.py58 Checks if a website is scrapeable based on the robots.txt file and updates the state with the scrapeabiSTRING
HIGHscrapegraphai/nodes/parse_node_depth_k_node.py43 Executes the node's logic to parse the HTML documents content. Args: state (dict): The curSTRING
HIGHscrapegraphai/nodes/fetch_node_level_k.py73 Executes the node's logic to fetch the HTML content of a specified URL and its sub-links recursively, tSTRING
HIGHscrapegraphai/nodes/merge_generated_scripts_node.py42 Executes the node's logic to merge the answers from multiple graph instances into a single answer. STRING
HIGHscrapegraphai/nodes/fetch_node.py224 Handles the local source by fetching HTML content, optionally converting it to Markdown, and updating tSTRING
HIGHscrapegraphai/nodes/fetch_node.py267 Handles the web source by fetching HTML content from a URL, optionally converting it to Markdown, and uSTRING
HIGHscrapegraphai/nodes/concat_answers_node.py42 Executes the node's logic to concatenate the answers from multiple graph instances into a single answerSTRING
HIGHscrapegraphai/nodes/generate_code_node.py94 Generates Python code for a function that extracts data from HTML based on a output schema. Args: STRING
HIGHscrapegraphai/nodes/generate_code_node.py146 Executes the overall reasoning loop to generate and validate the code. Args: state (dict):STRING
HIGHscrapegraphai/nodes/text_to_speech_node.py40 Converts text to speech using the specified text-to-speech model. Args: state (dict): The STRING
HIGHscrapegraphai/nodes/markdownify_node.py42 Executes the node's logic to convert HTML content to Markdown. Args: state (dict): The curSTRING
HIGHscrapegraphai/nodes/get_probable_tags_node.py46 Generates a list of probable HTML tags based on the user's input and updates the state with this list. STRING
HIGHscrapegraphai/nodes/base_node.py13 An abstract base class for nodes in a graph-based workflow, designed to perform specific actions when executed.STRING
HIGHscrapegraphai/nodes/base_node.py99 Determines the necessary state keys based on the input specification. Args: state (dict): STRING
HIGHscrapegraphai/nodes/base_node.py137 Parses the input keys expression to extract relevant keys from the state based on logical conditions. STRING
HIGHscrapegraphai/nodes/html_analyzer_node.py59 Generates an analysis of the provided HTML code based on the wanted infromations to be extracted. ArgsSTRING
HIGHscrapegraphai/nodes/parse_node.py63 Executes the node's logic to parse the HTML document content and split it into chunks. Args: STRING
HIGHscrapegraphai/nodes/prompt_refiner_node.py63 Generate a refined prompt using the user's prompt, the schema, and additional context. Args: STRING
HIGHscrapegraphai/nodes/generate_answer_omni_node.py65 Generates an answer by constructing a prompt from the user's input and the scraped content, querying thSTRING
HIGHscrapegraphai/utils/batch_api.py118Create and submit an OpenAI Batch API job. Args: client: An initialized OpenAI client. requests: LiSTRING
HIGHscrapegraphai/utils/batch_api.py196Poll a batch job until it completes, fails, or times out. Args: client: An initialized OpenAI client. STRING
HIGHscrapegraphai/utils/code_error_analysis.py107 Analyzes the syntax errors in the generated code. Args: state (dict): Contains the 'generated_code' anSTRING
HIGHscrapegraphai/utils/code_error_analysis.py160 Analyzes the execution errors in the generated code and HTML code. Args: state (dict): Contains the 'gSTRING
HIGHscrapegraphai/utils/code_error_analysis.py215 Analyzes the validation errors in the generated code based on a JSON schema. Args: state (dict): ContaSTRING
HIGHscrapegraphai/utils/code_error_analysis.py278 Analyzes the semantic differences in the generated code based on a comparison result. Args: state (dicSTRING
HIGHscrapegraphai/utils/code_error_correction.py89 Generates corrected code based on syntax error analysis. Args: state (dict): Contains the 'generated_cSTRING
HIGHscrapegraphai/utils/code_error_correction.py142 Generates corrected code based on execution error analysis. Args: state (dict): Contains the 'generateSTRING
HIGHscrapegraphai/utils/code_error_correction.py195 Generates corrected code based on validation error analysis. Args: state (dict): Contains the 'generatSTRING
HIGHscrapegraphai/utils/code_error_correction.py254 Generates corrected code based on semantic error analysis. Args: state (dict): Contains the 'generatedSTRING
HIGHscrapegraphai/utils/copy.py36 Safely create a deep copy of an object, handling special cases. Args: obj: Object to copy ReturnsSTRING
HIGHscrapegraphai/utils/parse_state_keys.py9 Parses a complex boolean expression involving state keys. Args: expression (str): The boolean expressiSTRING
HIGHscrapegraphai/utils/research_web.py171 Search web function with improved error handling, validation, and security features. Args: query (str)STRING
HIGHscrapegraphai/utils/sys_dynamic_import.py16 imports a python module from its srcfile Args: modpath: The srcfile absolute path modname: TheSTRING
HIGH…apegraphai/utils/screenshot_scraping/text_detection.py7 Detects and extracts text from a given image. Parameters: image (PIL Image): The input image to extSTRING
HIGH…ai/utils/screenshot_scraping/screenshot_preparation.py225 Crop an image using the specified coordinates. Parameters: image (PIL.Image): The image to be cropped. STRING
HIGHscrapegraphai/integrations/indexify_node.py38 Executes the node's logic to index the content present in the state. Args: state (dict): TSTRING
HIGHscrapegraphai/graphs/abstract_graph.py119 Create a large language model instance based on the configuration provided. Args: llm_confSTRING
HIGHscrapegraphai/graphs/base_graph.py19 BaseGraph manages the execution flow of a graph composed of interconnected nodes. Attributes: nodes (lSTRING
Hyper-Verbose Identifiers222 hits · 196 pts
SeverityFileLineSnippetContext
LOWtests/test_fetch_node_timeout.py65 def test_timeout_default_value(self):CODE
LOWtests/test_fetch_node_timeout.py74 def test_timeout_custom_value(self):CODE
LOWtests/test_fetch_node_timeout.py102 def test_requests_get_with_timeout(self, mock_requests):CODE
LOWtests/test_fetch_node_timeout.py125 def test_requests_get_without_timeout_when_none(self, mock_requests):CODE
LOWtests/test_fetch_node_timeout.py147 def test_pdf_parsing_with_timeout(self):CODE
LOWtests/test_fetch_node_timeout.py163 def test_pdf_parsing_timeout_exceeded(self):CODE
LOWtests/test_fetch_node_timeout.py189 def test_timeout_propagated_to_chromium_loader(self, mock_loader_class):CODE
LOWtests/test_fetch_node_timeout.py213 def test_timeout_not_overridden_in_loader_kwargs(self, mock_loader_class):CODE
LOWtests/test_csv_scraper_multi_graph.py74def test_create_graph_structure(monkeypatch):CODE
LOWtests/test_csv_scraper_multi_graph.py119def test_run_argument_passing():CODE
LOWtests/test_csv_scraper_multi_graph.py146def test_run_with_exception_in_execute():CODE
LOWtests/test_cleanup_html.py13def test_extract_from_script_tags():CODE
LOWtests/test_cleanup_html.py32def test_cleanup_html_success():STRING
LOWtests/test_cleanup_html.py61def test_cleanup_html_no_body():STRING
LOWtests/conftest.py388def pytest_collection_modifyitems(config, items):CODE
LOWtests/test_json_scraper_graph.py21 def test_json_scraper_graph_with_directory(CODE
LOWtests/test_json_scraper_graph.py78 def test_json_scraper_graph_with_single_file(CODE
LOWtests/test_json_scraper_graph.py135 def test_json_scraper_graph_no_answer_found(CODE
LOWtests/test_json_scraper_graph.py189 def test_json_scraper_graph_with_custom_schema(CODE
LOWtests/test_scrape_do.py9def test_scrape_do_fetch_without_proxy():CODE
LOWtests/test_scrape_do.py36def test_scrape_do_fetch_with_proxy_no_geo():CODE
LOWtests/test_scrape_do.py70def test_scrape_do_fetch_with_proxy_with_geo():CODE
LOWtests/test_scrape_do.py107def test_scrape_do_fetch_without_proxy_custom_env():CODE
LOWtests/test_scrape_do.py131def test_scrape_do_fetch_with_proxy_custom_env():CODE
LOWtests/test_scrape_do.py161def test_scrape_do_fetch_exception_propagation():CODE
LOWtests/test_scrape_do.py174def test_scrape_do_fetch_with_proxy_with_geo_and_super_false():CODE
LOWtests/test_scrape_do.py208def test_scrape_do_fetch_empty_token_without_proxy():CODE
LOWtests/test_scrape_do.py230def test_scrape_do_fetch_with_proxy_with_empty_geo():CODE
LOWtests/test_scrape_do.py265def test_scrape_do_fetch_api_encoding_special_characters():CODE
LOWtests/test_script_creator_multi_graph.py65 def test_create_graph_structure(self):CODE
LOWtests/test_script_creator_multi_graph.py130 def test_create_graph_node_configs(self):CODE
LOWtests/test_script_creator_multi_graph.py181 def test_run_with_empty_prompt(self):CODE
LOWtests/test_batch_api.py45 def test_to_jsonl_line_with_max_tokens(self):CODE
LOWtests/test_batch_api.py56 def test_to_jsonl_line_with_response_format(self):CODE
LOWtests/test_batch_api.py67 def test_to_jsonl_line_without_optional_fields(self):CODE
LOWtests/test_batch_api.py78 def test_to_jsonl_line_custom_temperature(self):CODE
LOWtests/test_batch_api.py159 def test_retrieve_no_output_file(self):CODE
LOWtests/test_batch_api.py173 def test_results_sorted_by_custom_id(self):CODE
LOWtests/test_batch_api.py230 def test_handles_partial_failures(self):CODE
LOWtests/test_batch_api.py280 def test_rejects_non_openai_provider(self):CODE
LOWtests/test_batch_api.py293 def test_rejects_groq_provider(self):CODE
LOWtests/test_batch_api.py313 def test_empty_parsed_docs_raises(self):CODE
LOWtests/test_batch_api.py349 def test_model_name_extraction(self):CODE
LOWtests/test_batch_api.py366 def test_batch_model_override(self):CODE
LOWtests/test_batch_api.py386 def test_format_instructions_without_schema(self):CODE
LOWtests/test_depth_search_graph.py19 def test_depth_search_graph_initialization(self, source, expected_input_key):CODE
LOWtests/test_models_tokens.py41 def test_non_existent_provider(self):CODE
LOWtests/test_models_tokens.py52 def test_specific_token_value(self):CODE
LOWtests/test_models_tokens.py58 def test_non_empty_model_keys(self):CODE
LOWtests/test_models_tokens.py88 def test_specific_model_token_values(self):CODE
LOWtests/test_models_tokens.py121 def test_no_whitespace_in_model_names(self):CODE
LOWtests/test_models_tokens.py130 def test_specific_models_additional(self):CODE
LOWtests/test_generate_answer_node.py45def test_process_missing_content_and_user_prompt(dummy_node):CODE
LOWtests/test_generate_answer_node.py84def test_execute_multiple_chunks(dummy_node_with_pipe):CODE
LOWtests/test_generate_answer_node.py109def test_execute_single_chunk(dummy_node_with_pipe):CODE
LOWtests/test_generate_answer_node.py125def test_execute_merge_json_decode_error(dummy_node_with_pipe):CODE
LOWtests/test_generate_answer_node.py190def test_execute_timeout_single_chunk(dummy_node_with_pipe):CODE
LOWtests/test_generate_answer_node.py206def test_execute_script_creator_single_chunk():CODE
LOWtests/test_generate_answer_node.py249def test_init_chat_ollama_format():CODE
LOWtests/test_chromium.py486async def test_alazy_load_empty_urls():CODE
162 more matches not shown…
Unused Imports188 hits · 152 pts
SeverityFileLineSnippetContext
LOWtests/test_minimax_models.py5CODE
LOWtests/utils/test_sys_dynamic_import.py71CODE
LOWtests/utils/test_sys_dynamic_import.py77CODE
LOWscrapegraphai/docloaders/__init__.py8CODE
LOWscrapegraphai/docloaders/__init__.py9CODE
LOWscrapegraphai/docloaders/plasmate.py37CODE
LOWscrapegraphai/builders/__init__.py5CODE
LOWscrapegraphai/nodes/__init__.py5CODE
LOWscrapegraphai/nodes/__init__.py6CODE
LOWscrapegraphai/nodes/__init__.py7CODE
LOWscrapegraphai/nodes/__init__.py8CODE
LOWscrapegraphai/nodes/__init__.py9CODE
LOWscrapegraphai/nodes/__init__.py10CODE
LOWscrapegraphai/nodes/__init__.py11CODE
LOWscrapegraphai/nodes/__init__.py12CODE
LOWscrapegraphai/nodes/__init__.py13CODE
LOWscrapegraphai/nodes/__init__.py14CODE
LOWscrapegraphai/nodes/__init__.py15CODE
LOWscrapegraphai/nodes/__init__.py16CODE
LOWscrapegraphai/nodes/__init__.py17CODE
LOWscrapegraphai/nodes/__init__.py18CODE
LOWscrapegraphai/nodes/__init__.py19CODE
LOWscrapegraphai/nodes/__init__.py20CODE
LOWscrapegraphai/nodes/__init__.py21CODE
LOWscrapegraphai/nodes/__init__.py22CODE
LOWscrapegraphai/nodes/__init__.py23CODE
LOWscrapegraphai/nodes/__init__.py24CODE
LOWscrapegraphai/nodes/__init__.py25CODE
LOWscrapegraphai/nodes/__init__.py26CODE
LOWscrapegraphai/nodes/__init__.py27CODE
LOWscrapegraphai/nodes/__init__.py28CODE
LOWscrapegraphai/nodes/__init__.py29CODE
LOWscrapegraphai/nodes/__init__.py30CODE
LOWscrapegraphai/nodes/__init__.py31CODE
LOWscrapegraphai/nodes/__init__.py32CODE
LOWscrapegraphai/nodes/__init__.py33CODE
LOWscrapegraphai/nodes/__init__.py34CODE
LOWscrapegraphai/nodes/__init__.py35CODE
LOWscrapegraphai/nodes/__init__.py36CODE
LOWscrapegraphai/nodes/batch_generate_answer_node.py10CODE
LOWscrapegraphai/nodes/batch_generate_answer_node.py10CODE
LOWscrapegraphai/nodes/batch_generate_answer_node.py13CODE
LOWscrapegraphai/nodes/batch_generate_answer_node.py19CODE
LOWscrapegraphai/utils/batch_api.py15CODE
LOWscrapegraphai/utils/batch_api.py16CODE
LOWscrapegraphai/utils/__init__.py5CODE
LOWscrapegraphai/utils/__init__.py6CODE
LOWscrapegraphai/utils/__init__.py6CODE
LOWscrapegraphai/utils/__init__.py7CODE
LOWscrapegraphai/utils/__init__.py7CODE
LOWscrapegraphai/utils/__init__.py7CODE
LOWscrapegraphai/utils/__init__.py7CODE
LOWscrapegraphai/utils/__init__.py13CODE
LOWscrapegraphai/utils/__init__.py13CODE
LOWscrapegraphai/utils/__init__.py13CODE
LOWscrapegraphai/utils/__init__.py13CODE
LOWscrapegraphai/utils/__init__.py19CODE
LOWscrapegraphai/utils/__init__.py20CODE
LOWscrapegraphai/utils/__init__.py20CODE
LOWscrapegraphai/utils/__init__.py20CODE
128 more matches not shown…
Decorative Section Separators30 hits · 105 pts
SeverityFileLineSnippetContext
MEDIUMtests/conftest.py43# ============================================================================COMMENT
MEDIUMtests/conftest.py45# ============================================================================COMMENT
MEDIUMtests/conftest.py164# ============================================================================COMMENT
MEDIUMtests/conftest.py166# ============================================================================COMMENT
MEDIUMtests/conftest.py188# ============================================================================COMMENT
MEDIUMtests/conftest.py190# ============================================================================COMMENT
MEDIUMtests/conftest.py269# ============================================================================COMMENT
MEDIUMtests/conftest.py271# ============================================================================COMMENT
MEDIUMtests/conftest.py306# ============================================================================COMMENT
MEDIUMtests/conftest.py308# ============================================================================COMMENT
MEDIUMtests/conftest.py332# ============================================================================COMMENT
MEDIUMtests/conftest.py334# ============================================================================COMMENT
MEDIUMtests/conftest.py364# ============================================================================COMMENT
MEDIUMtests/conftest.py366# ============================================================================COMMENT
MEDIUMtests/test_plasmate.py97# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py99# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py139# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py141# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py179# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py181# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py221# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py223# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py257# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py259# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py13# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py32# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py34# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py65# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_plasmate.py67# ---------------------------------------------------------------------------COMMENT
Excessive Try-Catch Wrapping38 hits · 40 pts
SeverityFileLineSnippetContext
LOWtests/integration/test_smart_scraper_integration.py124 except Exception as e:CODE
LOWexamples/extras/chromium_selenium.py45 except Exception as e:CODE
LOWexamples/extras/chromium_selenium.py81 except Exception as e:CODE
LOWexamples/extras/chromium_selenium.py115 except Exception as e:CODE
LOWexamples/extras/chromium_selenium.py138 except Exception as e:CODE
LOWexamples/extras/chromium_selenium.py147 except Exception as e:CODE
LOWscrapegraphai/docloaders/chromium.py81 except Exception as e:CODE
LOWscrapegraphai/nodes/search_link_node.py146 except Exception as e:CODE
LOWscrapegraphai/nodes/generate_answer_node.py86 except Exception as e:CODE
LOWscrapegraphai/nodes/generate_answer_node.py114 except Exception as e:CODE
LOWscrapegraphai/nodes/fetch_node_level_k.py229 except Exception as e:CODE
LOWscrapegraphai/nodes/fetch_node_level_k.py251 except Exception as e:CODE
LOWscrapegraphai/nodes/image_to_text_node.py83 except Exception:CODE
LOWscrapegraphai/nodes/generate_code_node.py467 except Exception as e:CODE
LOWscrapegraphai/nodes/conditional_node.py109 except Exception as e:CODE
LOWscrapegraphai/nodes/parse_node.py106 except Exception:CODE
LOWscrapegraphai/utils/code_error_analysis.py155 except Exception as e:CODE
LOWscrapegraphai/utils/code_error_analysis.py210 except Exception as e:CODE
LOWscrapegraphai/utils/code_error_analysis.py271 except Exception as e:CODE
LOWscrapegraphai/utils/code_error_analysis.py334 except Exception as e:CODE
LOWscrapegraphai/utils/code_error_correction.py135 except Exception as e:CODE
LOWscrapegraphai/utils/code_error_correction.py188 except Exception as e:CODE
LOWscrapegraphai/utils/code_error_correction.py247 except Exception as e:CODE
LOWscrapegraphai/utils/code_error_correction.py318 except Exception as e:CODE
LOWscrapegraphai/utils/copy.py70 except Exception as e:CODE
LOWscrapegraphai/utils/cleanup_html.py41 except Exception:CODE
LOWscrapegraphai/utils/research_web.py281 except Exception as e:CODE
LOWscrapegraphai/utils/research_web.py328 except Exception as e:CODE
LOWscrapegraphai/utils/research_web.py369 except Exception as e:CODE
LOWscrapegraphai/utils/research_web.py415 except Exception as e:CODE
LOWscrapegraphai/graphs/abstract_graph.py281 except Exception as e:CODE
LOWscrapegraphai/graphs/base_graph.py195 except Exception:CODE
LOWscrapegraphai/graphs/base_graph.py293 except Exception as e:CODE
LOWscrapegraphai/telemetry/telemetry.py23 except Exception:CODE
LOWscrapegraphai/telemetry/telemetry.py34 except Exception:CODE
LOWscrapegraphai/telemetry/telemetry.py44 except Exception:CODE
LOWscrapegraphai/telemetry/telemetry.py52 except Exception:CODE
LOWscrapegraphai/telemetry/telemetry.py141 except Exception as e:CODE
Modern Structural Boilerplate25 hits · 28 pts
SeverityFileLineSnippetContext
LOWscrapegraphai/docloaders/__init__.py25__all__ = [CODE
LOWscrapegraphai/builders/__init__.py7__all__ = [CODE
LOWscrapegraphai/nodes/__init__.py38__all__ = [CODE
LOWscrapegraphai/nodes/batch_generate_answer_node.py29logger = logging.getLogger(__name__)CODE
LOWscrapegraphai/utils/logging.py35def _set_library_root_logger() -> None:CODE
LOWscrapegraphai/utils/logging.py90def set_verbosity(verbosity: int) -> None:CODE
LOWscrapegraphai/utils/logging.py101def set_verbosity_debug() -> None:CODE
LOWscrapegraphai/utils/logging.py108def set_verbosity_info() -> None:CODE
LOWscrapegraphai/utils/logging.py115def set_verbosity_warning() -> None:CODE
LOWscrapegraphai/utils/logging.py122def set_verbosity_error() -> None:CODE
LOWscrapegraphai/utils/logging.py129def set_verbosity_fatal() -> None:CODE
LOWscrapegraphai/utils/logging.py136def set_handler(handler: logging.Handler) -> None:CODE
LOWscrapegraphai/utils/logging.py178def set_propagation() -> None:CODE
LOWscrapegraphai/utils/logging.py192def set_formatting() -> None:CODE
LOWscrapegraphai/utils/batch_api.py20logger = logging.getLogger(__name__)CODE
LOWscrapegraphai/utils/__init__.py58__all__ = [CODE
LOWscrapegraphai/utils/screenshot_scraping/__init__.py9__all__ = [CODE
LOWscrapegraphai/models/__init__.py14__all__ = ["DeepSeek", "MiniMax", "OneApi", "OpenAIImageToText", "OpenAITextToSpeech", "CLoD", "XAI", "Nvidia"]CODE
LOWscrapegraphai/integrations/__init__.py8__all__ = [CODE
LOWscrapegraphai/prompts/__init__.py58__all__ = [CODE
LOWscrapegraphai/graphs/__init__.py32__all__ = [CODE
LOWscrapegraphai/graphs/smart_scraper_graph.py22logger = logging.getLogger(__name__)CODE
LOWscrapegraphai/telemetry/__init__.py7__all__ = [CODE
LOWscrapegraphai/telemetry/telemetry.py16logger = logging.getLogger(__name__)CODE
LOWscrapegraphai/helpers/__init__.py10__all__ = [CODE
Deep Nesting22 hits · 22 pts
SeverityFileLineSnippetContext
LOWscrapegraphai/docloaders/chromium.py86CODE
LOWscrapegraphai/docloaders/chromium.py165CODE
LOWscrapegraphai/docloaders/chromium.py322CODE
LOWscrapegraphai/docloaders/chromium.py381CODE
LOWscrapegraphai/nodes/fetch_node_level_k.py234CODE
LOWscrapegraphai/nodes/fetch_node.py171CODE
LOWscrapegraphai/nodes/fetch_node.py266CODE
LOWscrapegraphai/utils/llm_callback_manager.py37CODE
LOWscrapegraphai/utils/cleanup_html.py13CODE
LOWscrapegraphai/utils/dict_content_compare.py15CODE
LOWscrapegraphai/utils/research_web.py160CODE
LOWscrapegraphai/utils/research_web.py285CODE
LOWscrapegraphai/utils/research_web.py373CODE
LOWscrapegraphai/utils/schema_trasform.py6CODE
LOWscrapegraphai/utils/schema_trasform.py17CODE
LOW…ai/utils/screenshot_scraping/screenshot_preparation.py44CODE
LOW…ai/utils/screenshot_scraping/screenshot_preparation.py67CODE
LOWscrapegraphai/graphs/abstract_graph.py118CODE
LOWscrapegraphai/graphs/base_graph.py130CODE
LOWscrapegraphai/graphs/base_graph.py157CODE
LOWscrapegraphai/graphs/base_graph.py236CODE
LOWscrapegraphai/graphs/base_graph.py344CODE
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHdocs/timeout_configuration.md169 "api_key": "your-api-key"CODE
HIGHexamples/markdownify/readme.md22sgai_client = Client(api_key="your-api-key")CODE
HIGHexamples/smart_scraper_graph/scrapegraphai/readme.md48SCRAPEGRAPH_API_KEY=your-api-key-hereCODE
Redundant / Tautological Comments6 hits · 9 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py405 # Check if any API key is availableCOMMENT
LOWtests/test_json_scraper_graph.py246 # Check if the custom schema was passed to GenerateAnswerNodeCOMMENT
LOWtests/test_chromium.py1073 # Set evaluate to always return constant height value (simulate constant page height)COMMENT
LOWtests/nodes/robot_node_test.py72 # Set force_scraping to TrueCOMMENT
LOWtests/nodes/search_link_node_test.py56 # Check if the result is not NoneCOMMENT
LOWscrapegraphai/utils/code_error_analysis.py134 # Check if syntax errors existCOMMENT
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWscrapegraphai/docloaders/chromium.py26CODE
LOWscrapegraphai/utils/research_web.py160CODE
LOWscrapegraphai/models/openai_itt.py47CODE
LOWscrapegraphai/graphs/abstract_graph.py333CODE
AI Slop Vocabulary2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_chromium.py535 # If no failure, simply pass.COMMENT
LOWscrapegraphai/nodes/generate_scraper_node.py109 # If there are more than one chunks returned by ParseNode we just use the first oneSTRING
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOW.github/workflows/codeql.yml1# For most projects, this workflow file will not need changing; you simply needCOMMENT
LOW.github/workflows/dependency-review.yml1# Dependency Review ActionCOMMENT