Repository Analysis

xtekky/gpt4free

The official gpt4free repository | various collection of powerful language models | opus 4.6 gpt 5.3 kimi 2.5 deepseek v3.2 gemini 3

26.4 Moderate AI signal View on GitHub
26.4
Adjusted Score
26.4
Raw Score
100%
Time Factor
2026-05-29
Last Push
66,279
Stars
Python
Language
58,959
Lines of Code
325
Files
1207
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 34MEDIUM 121LOW 1052

Pattern Findings

1207 matches across 19 categories. Click a row to expand file-level details.

Unused Imports438 hits · 404 pts
SeverityFileLineSnippet
LOWg4f/cookies.py1
LOWg4f/files.py1
LOWg4f/config.py1
LOWg4f/version.py1
LOWg4f/models.py1
LOWg4f/models.py7
LOWg4f/__init__.py1
LOWg4f/__init__.py7
LOWg4f/__init__.py7
LOWg4f/__init__.py10
LOWg4f/__init__.py10
LOWg4f/__init__.py10
LOWg4f/__init__.py10
LOWg4f/__init__.py12
LOWg4f/__init__.py12
LOWg4f/__init__.py16
LOWg4f/typing.py1
LOWg4f/typing.py4
LOWg4f/typing.py4
LOWg4f/typing.py4
LOWg4f/typing.py4
LOWg4f/tools/auth.py1
LOWg4f/tools/files.py1
LOWg4f/tools/files.py77
LOWg4f/tools/fetch_and_scrape.py1
LOWg4f/tools/media.py1
LOWg4f/tools/run_tools.py1
LOWg4f/tools/web_search.py1
LOWg4f/integration/langchain.py1
LOWg4f/integration/pydantic_ai.py1
LOWg4f/providers/config_provider.py54
LOWg4f/providers/retry_provider.py1
LOWg4f/providers/retry_provider.py8
LOWg4f/providers/retry_provider.py12
LOWg4f/providers/retry_provider.py12
LOWg4f/providers/base_provider.py1
LOWg4f/providers/base_provider.py16
LOWg4f/providers/base_provider.py18
LOWg4f/providers/base_provider.py20
LOWg4f/providers/asyncio.py1
LOWg4f/providers/create_images.py1
LOWg4f/providers/response.py1
LOWg4f/providers/types.py1
LOWg4f/providers/types.py3
LOWg4f/providers/types.py5
LOWg4f/providers/types.py5
LOWg4f/providers/helper.py1
LOWg4f/providers/any_provider.py1
LOWg4f/providers/tool_support.py1
LOWg4f/providers/tool_support.py11
LOWg4f/Provider/PollinationsAI.py1
LOWg4f/Provider/Mintlify.py1
LOWg4f/Provider/Mintlify.py9
LOWg4f/Provider/Mintlify.py10
LOWg4f/Provider/Mintlify.py11
LOWg4f/Provider/OperaAria.py1
LOWg4f/Provider/OperaAria.py17
LOWg4f/Provider/GLM.py1
LOWg4f/Provider/base_provider.py1
LOWg4f/Provider/base_provider.py2
378 more matches not shown…
Excessive Try-Catch Wrapping290 hits · 331 pts
SeverityFileLineSnippet
LOWg4f/cookies.py150 except Exception as e:
LOWg4f/cookies.py272 except Exception as e:
LOWg4f/version.py141 except Exception as e:
LOWg4f/tools/files.py63except Exception:
LOWg4f/tools/files.py443 except Exception as e:
LOWg4f/tools/files.py565 except Exception as e:
LOWg4f/tools/files.py578 except Exception as e:
LOWg4f/tools/run_tools.py235 except Exception as e:
LOWg4f/tools/run_tools.py350 except Exception:
LOWg4f/tools/run_tools.py418 except Exception as e:
LOWg4f/tools/run_tools.py523 except Exception:
LOWg4f/integration/markitdown/_llm_caption.py25 except Exception as e:
LOWg4f/integration/markitdown/__init__.py98 except Exception:
LOWg4f/integration/markitdown/_youtube_converter.py114 except Exception as e:
MEDIUMg4f/integration/markitdown/_youtube_converter.py115 print(f"Error extracting description: {e}")
LOWg4f/integration/markitdown/_youtube_converter.py177 except Exception as e:
MEDIUMg4f/integration/markitdown/_youtube_converter.py180 print(f"Error fetching transcript: {e}")
LOWg4f/integration/markitdown/_youtube_converter.py191 except Exception as e:
MEDIUMg4f/integration/markitdown/_youtube_converter.py192 print(f"Error processing transcript: {e}")
LOWg4f/integration/markitdown/_youtube_converter.py236 except Exception as e:
LOWg4f/providers/config_provider.py389 except Exception as e:
LOWg4f/providers/config_provider.py466 except Exception as e:
LOWg4f/providers/config_provider.py571 except Exception as e:
LOWg4f/providers/retry_provider.py124 except Exception as e:
LOWg4f/providers/retry_provider.py183 except Exception as e:
LOWg4f/providers/retry_provider.py240 except Exception as e:
LOWg4f/providers/asyncio.py56 except Exception:
LOWg4f/providers/any_provider.py217 except Exception as e:
LOWg4f/providers/any_provider.py236 except Exception as e:
LOWg4f/providers/any_provider.py296 except Exception as e:
LOWg4f/providers/any_provider.py509 except Exception as e:
LOWg4f/providers/tool_support.py110 except Exception:
LOWg4f/providers/tool_support.py121 except Exception:
LOWg4f/providers/tool_support.py151 except Exception:
LOWg4f/Provider/PollinationsAI.py90 except Exception as e:
LOWg4f/Provider/PollinationsAI.py132 except Exception as e:
LOWg4f/Provider/PollinationsAI.py197 except Exception as e:
LOWg4f/Provider/PollinationsAI.py393 except Exception as e:
LOWg4f/Provider/OperaAria.py250 except Exception as e:
LOWg4f/Provider/WeWordle.py70 except Exception as e:
LOWg4f/Provider/WeWordle.py153 except Exception as e:
LOWg4f/Provider/TeachAnything.py60 except Exception as e:
MEDIUMg4f/Provider/TeachAnything.py61 print(f"Error decoding final buffer: {e}")
LOWg4f/Provider/CopilotSession.py175 except Exception:
LOWg4f/Provider/Copilot.py257 except Exception as e:
LOWg4f/Provider/Copilot.py290 except Exception:
LOWg4f/Provider/Perplexity.py182 except Exception as e:
LOWg4f/Provider/Yupp.py146 except Exception as e:
LOWg4f/Provider/Yupp.py198 except Exception as e:
LOWg4f/Provider/Yupp.py238 except Exception as e:
LOWg4f/Provider/Yupp.py272 except Exception as e:
LOWg4f/Provider/Yupp.py298 except Exception as e:
LOWg4f/Provider/Yupp.py734 except Exception as e:
LOWg4f/Provider/Chatai.py132 except Exception as e:
LOWg4f/Provider/Chatai.py136 except Exception as e:
LOWg4f/Provider/Qwen.py401 except Exception as e:
LOWg4f/Provider/EasyChat.py153 except Exception as e:
LOWg4f/Provider/hf_space/raise_for_status.py18 except Exception:
LOWg4f/Provider/template/OpenaiTemplate.py113 except Exception as e:
LOWg4f/Provider/qwen/qwenOAuth2.py98 except Exception:
230 more matches not shown…
Decorative Section Separators69 hits · 216 pts
SeverityFileLineSnippet
MEDIUMg4f/providers/config_provider.py76# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py78# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py127# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py129# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py172# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py174# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py335# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py337# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py364# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py366# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py433# ---------------------------------------------------------------------------
MEDIUMg4f/providers/config_provider.py435# ---------------------------------------------------------------------------
MEDIUMg4f/Provider/qwen/cookie_generator.py462# -----------------------
MEDIUMg4f/Provider/qwen/cookie_generator.py464# -----------------------
MEDIUMg4f/Provider/qwen/generate_ua.py10# =========================
MEDIUMg4f/Provider/qwen/generate_ua.py12# =========================
MEDIUMg4f/Provider/qwen/generate_ua.py44# =========================
MEDIUMg4f/Provider/qwen/generate_ua.py46# =========================
MEDIUMg4f/Provider/qwen/generate_ua.py143# =========================
MEDIUMg4f/Provider/qwen/generate_ua.py145# =========================
MEDIUMg4f/Provider/qwen/generate_ua.py238# =========================
MEDIUMg4f/Provider/qwen/generate_ua.py240# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py5# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py7# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py38# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py40# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py93# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py95# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py107# =========================
MEDIUMg4f/Provider/qwen/fingerprint.py109# =========================
MEDIUMg4f/mcp/pa_provider.py71# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py73# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py82# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py84# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py119# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py121# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py137# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py139# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py325# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py327# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py365# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py367# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py467# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py469# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py536# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py538# ---------------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py565 # ------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py567 # ------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py578 # ------------------------------------------------------------------
MEDIUMg4f/mcp/pa_provider.py580 # ------------------------------------------------------------------
MEDIUMg4f/cli/__init__.py32# --------------------------------------------------------------
MEDIUMg4f/cli/__init__.py34# --------------------------------------------------------------
MEDIUMg4f/cli/__init__.py192# --------------------------------------------------------------
MEDIUMg4f/cli/__init__.py194# --------------------------------------------------------------
MEDIUMg4f/cli/__init__.py249# --------------------------------------------------------------
MEDIUMg4f/cli/__init__.py251# --------------------------------------------------------------
MEDIUMg4f/cli/__init__.py286# --------------------------------------------------------------
MEDIUMg4f/cli/__init__.py288# --------------------------------------------------------------
MEDIUMetc/unittest/config_provider.py69# ---------------------------------------------------------------------------
MEDIUMetc/unittest/config_provider.py71# ---------------------------------------------------------------------------
9 more matches not shown…
Deep Nesting193 hits · 187 pts
SeverityFileLineSnippet
LOWg4f/cookies.py119
LOWg4f/cookies.py178
LOWg4f/cookies.py215
LOWg4f/tools/files.py89
LOWg4f/tools/files.py149
LOWg4f/tools/files.py231
LOWg4f/tools/files.py286
LOWg4f/tools/files.py357
LOWg4f/tools/files.py490
LOWg4f/tools/files.py504
LOWg4f/tools/files.py516
LOWg4f/tools/files.py528
LOWg4f/tools/fetch_and_scrape.py21
LOWg4f/tools/media.py57
LOWg4f/tools/run_tools.py241
LOWg4f/tools/run_tools.py359
LOWg4f/tools/run_tools.py531
LOWg4f/tools/run_tools.py118
LOWg4f/tools/run_tools.py157
LOWg4f/integration/markitdown/__init__.py32
LOWg4f/integration/markitdown/_audio_converter.py49
LOWg4f/integration/markitdown/_youtube_converter.py70
LOWg4f/integration/markitdown/_youtube_converter.py215
LOWg4f/providers/config_provider.py256
LOWg4f/providers/config_provider.py506
LOWg4f/providers/retry_provider.py79
LOWg4f/providers/retry_provider.py150
LOWg4f/providers/retry_provider.py217
LOWg4f/providers/base_provider.py118
LOWg4f/providers/base_provider.py309
LOWg4f/providers/base_provider.py381
LOWg4f/providers/base_provider.py126
LOWg4f/providers/asyncio.py20
LOWg4f/providers/asyncio.py46
LOWg4f/providers/create_images.py70
LOWg4f/providers/helper.py12
LOWg4f/providers/helper.py70
LOWg4f/providers/any_provider.py174
LOWg4f/providers/any_provider.py341
LOWg4f/providers/any_provider.py440
LOWg4f/providers/tool_support.py19
LOWg4f/Provider/PollinationsAI.py95
LOWg4f/Provider/PollinationsAI.py212
LOWg4f/Provider/PollinationsAI.py311
LOWg4f/Provider/Mintlify.py65
LOWg4f/Provider/OperaAria.py210
LOWg4f/Provider/GLM.py136
LOWg4f/Provider/GLM.py193
LOWg4f/Provider/WeWordle.py44
LOWg4f/Provider/CopilotSession.py30
LOWg4f/Provider/CopilotSession.py68
LOWg4f/Provider/Copilot.py47
LOWg4f/Provider/Copilot.py330
LOWg4f/Provider/Copilot.py403
LOWg4f/Provider/Copilot.py123
LOWg4f/Provider/LambdaChat.py40
LOWg4f/Provider/Perplexity.py108
LOWg4f/Provider/Cloudflare.py93
LOWg4f/Provider/Yupp.py533
LOWg4f/Provider/Yupp.py763
133 more matches not shown…
Hyper-Verbose Identifiers117 hits · 120 pts
SeverityFileLineSnippet
LOWg4f/cookies.py119def load_cookies_from_browsers(domain_name: str,
LOWg4f/tools/files.py262def stream_read_parts_and_refine(bucket_dir: Path, delete_files: bool = False) -> Iterator[str]:
LOWg4f/tools/files.py286def split_file_by_size_and_newline(input_filename, output_dir, chunk_size_bytes=1024*1024): # 1MB
LOWg4f/tools/files.py516async def async_read_and_download_urls(bucket_dir: Path, delete_files: bool = False, event_stream: bool = False) -> Asyn
LOWg4f/integration/langchain.py10def new_convert_message_to_dict(message: BaseMessage) -> dict:
LOWg4f/providers/base_provider.py88def get_async_provider_method(provider: type) -> Optional[callable]:
LOWg4f/Provider/GLM.py29 def create_signature_with_timestamp(cls,e: str, t: str):
LOWg4f/Provider/GLM.py181 def get_last_user_message_content(cls, messages):
LOWg4f/Provider/Copilot.py330async def get_access_token_and_cookies(url: str, proxy: str = None, needs_auth: bool = False):
LOWg4f/Provider/Yupp.py160def sync_record_model_feedback(
LOWg4f/Provider/qwen/fingerprint.py189def generate_fingerprint_batch(count: int, options: Dict[str, Any] = None) -> List[str]:
LOWg4f/Provider/yupp/models.py184class DataManager:
LOWg4f/Provider/yupp/token_extractor.py334 def _extract_tokens_from_html(self, html: str) -> List[str]:
LOWg4f/Provider/needs_auth/MicrosoftDesigner.py145async def get_access_token_and_user_agent(url: str, proxy: str = None):
LOWg4f/Provider/needs_auth/BlackboxPro.py2092 def _find_session_in_har_files(cls) -> Optional[dict]:
LOWg4f/Provider/needs_auth/GeminiCLI.py87def get_gemini_cli_user_agent(model: str = "gemini-2.5-pro") -> str:
LOWg4f/Provider/needs_auth/GeminiCLI.py567 def _messages_to_gemini_format(messages: list, media: MediaListType) -> Dict[str, Any]:
LOWg4f/Provider/needs_auth/MetaAI.py223def generate_offline_threading_id() -> str:
LOWg4f/Provider/needs_auth/Antigravity.py69def get_antigravity_oauth_creds_path():
LOWg4f/Provider/needs_auth/Antigravity.py960 def _messages_to_gemini_format(messages: list, media: MediaListType) -> List[Dict[str, Any]]:
LOWg4f/Provider/needs_auth/DeepSeekAPI.py156def generate_client_stream_id() -> str:
LOWg4f/Provider/openai/new.py53 "unregisterProtocolHandler−function unregisterProtocolHandler() { [native code] }",
LOWg4f/Provider/openai/new.py94 "requestMediaKeySystemAccess−function requestMediaKeySystemAccess() { [native code] }",
LOWg4f/mcp/apply_patch.py238def _parse_and_apply_unified_diff(
LOWg4f/mcp/apply_patch.py308def apply_patch_with_fallback(
LOWg4f/requests/__init__.py85def get_cookie_params_from_dict(cookies: Cookies, url: str = None, domain: str = None) -> list[CookieParam]:
LOWg4f/requests/__init__.py185def set_browser_executable_path(browser_executable_path: str):
LOWg4f/gui/server/api.py139 def _prepare_conversation_kwargs(self, json_data: dict):
LOWg4f/gui/server/api.py325def get_target_paths_and_urls(media: list[Union[str, tuple[str, str]]]) -> tuple[list[str], list[str]]:
LOWg4f/api/__init__.py152def create_app_with_gui_and_debug():
LOWg4f/api/__init__.py157def create_app_with_demo_and_debug():
LOWg4f/api/__init__.py305 def register_validation_exception_handler(self):
LOWg4f/api/__init__.py307 async def validation_exception_handler(request: Request, exc: RequestValidationError):
LOWetc/unittest/config_provider.py78 def test_initial_count_is_zero(self):
LOWetc/unittest/config_provider.py81 def test_increment_increases_count(self):
LOWetc/unittest/config_provider.py198 def test_quota_nested_yupp_false(self):
LOWetc/unittest/config_provider.py204 def test_quota_missing_key_resolves_zero(self):
LOWetc/unittest/config_provider.py210 def test_quota_missing_nested_key_resolves_zero(self):
LOWetc/unittest/config_provider.py215 def test_quota_combined_condition(self):
LOWetc/unittest/config_provider.py241 def test_get_quota_balance_alias(self):
LOWetc/unittest/config_provider.py247 def test_get_quota_balance_alias_false(self):
LOWetc/unittest/config_provider.py254 def test_empty_condition_returns_true(self):
LOWetc/unittest/config_provider.py257 def test_none_quota_treated_as_empty_dict(self):
LOWetc/unittest/config_provider.py273 def test_unknown_variable_raises(self):
LOWetc/unittest/config_provider.py277 def test_quota_unknown_sub_key_resolves_zero(self):
LOWetc/unittest/config_provider.py128 def test_error_count_lt_false(self):
LOWetc/unittest/config_provider.py180 def test_quota_balance_pollinations(self):
LOWetc/unittest/config_provider.py186 def test_quota_balance_pollinations_false(self):
LOWetc/unittest/config_provider.py410 async def test_condition_false_skips_provider(self):
LOWetc/unittest/config_provider.py427 async def test_condition_true_attempts_provider(self):
LOWetc/unittest/config_provider.py354 def test_get_unknown_model_returns_none(self):
LOWetc/unittest/config_provider.py357 def test_clear_removes_routes(self):
LOWetc/unittest/config_provider.py362 def test_provider_default_model_uses_route_name(self):
LOWetc/unittest/config_provider.py396 async def test_provider_not_found_skipped(self):
LOWetc/unittest/test_minimax.py19 def test_old_models_still_available(self):
LOWetc/unittest/retry_provider.py25 async def test_stream_skip_provider(self):
LOWetc/unittest/retry_provider.py35 async def test_stream_only_one_result(self):
LOWetc/unittest/backend.py43 def test_is_safe_url_with_backslash_confusion(self, mock_getaddrinfo):
LOWetc/unittest/backend.py49 def test_is_safe_url_blocks_private(self, mock_getaddrinfo):
LOWetc/unittest/backend.py55 def test_is_safe_url_allows_public(self, mock_getaddrinfo):
57 more matches not shown…
Cross-Language Confusion18 hits · 115 pts
SeverityFileLineSnippet
HIGHg4f/Provider/Qwen.py273 while not await page.evaluate('window.__baxia__ && window.__baxia__.getFYModule'):
HIGHg4f/Provider/needs_auth/LMArena.py246 while not await page.evaluate('window.grecaptcha && window.grecaptcha.enterprise'):
HIGHg4f/Provider/needs_auth/LMArena.py270 while not await page.evaluate('window.grecaptcha && window.grecaptcha.enterprise'):
HIGHg4f/Provider/needs_auth/LMArena.py283 resolve(null);
HIGHg4f/Provider/needs_auth/Gemini.py65 "gemini-2.5-pro-exp": {"x-goog-ext-525001261-jspb": '[1,null,null,null,"2525e3954d185b3c"]'},
HIGHg4f/Provider/needs_auth/Gemini.py66 "gemini-2.5-flash": {"x-goog-ext-525001261-jspb": '[1,null,null,null,"35609594dbe934d8"]'},
HIGHg4f/Provider/needs_auth/Gemini.py67 "gemini-2.0-flash-thinking-exp": {"x-goog-ext-525001261-jspb": '[1,null,null,null,"7ca48d02d802f20a"]'},
HIGHg4f/Provider/needs_auth/Gemini.py68 "gemini-deep-research": {"x-goog-ext-525001261-jspb": '[1,null,null,null,"cd472a54d2abba7e"]'},
HIGHg4f/Provider/needs_auth/Gemini.py69 "gemini-2.0-flash": {"x-goog-ext-525001261-jspb": '[null,null,null,null,"f299729663a2343f"]'},
HIGHg4f/Provider/needs_auth/Gemini.py70 "gemini-2.0-flash-exp": {"x-goog-ext-525001261-jspb": '[null,null,null,null,"f299729663a2343f"]'},
HIGHg4f/Provider/needs_auth/Gemini.py71 "gemini-2.0-flash-thinking": {"x-goog-ext-525001261-jspb": '[null,null,null,null,"9c17b1863f581b8a"]'},
HIGHg4f/Provider/needs_auth/Gemini.py72 "gemini-2.0-flash-thinking-with-apps": {"x-goog-ext-525001261-jspb": '[null,null,null,null,"f8f8f5ea629f5d37"]'},
HIGHg4f/Provider/needs_auth/Gemini.py74 "gemini-3-pro": {"x-goog-ext-525001261-jspb": '[1,null,null,null,"9d8ca3786ebdfbea",null,null,0,[4]]'},
HIGHg4f/Provider/needs_auth/Gemini.py75 "gemini-2.5-pro": {"x-goog-ext-525001261-jspb": '[1,null,null,null,"61530e79959ab139",null,null,null,[4]]'},
HIGHg4f/Provider/needs_auth/Gemini.py76 "gemini-2.5-flash": {"x-goog-ext-525001261-jspb": '[1,null,null,null,"9ec249fc9ad08861",null,null,null,[4]]'},
HIGHg4f/Provider/needs_auth/mini_max/crypt.py44 M += hash_function("") # Mimics hashFunction(undefined) in JS
HIGHg4f/Provider/needs_auth/mini_max/crypt.py61 const os_name = navigator.userAgentData?.platform || navigator.platform || "Unknown";
HIGHg4f/Provider/needs_auth/mini_max/crypt.py70 const cpu_core_num = navigator.hardwareConcurrency || 8;
Redundant / Tautological Comments28 hits · 44 pts
SeverityFileLineSnippet
LOWg4f/integration/markitdown/__init__.py82 # Check if the converter will accept the file, and if so, try to convert it
LOWg4f/integration/markitdown/__init__.py155 # Check if we have a seekable stream. If not, load the entire stream into memory.
LOWg4f/integration/markitdown/_audio_converter.py104 # Return the result
LOWg4f/Provider/GLM.py149 # Check if the file is less than 30 minutes old (30 * 60 seconds)
LOWg4f/Provider/Perplexity.py197 # Check if this is a followup request (has session tokens)
LOWg4f/Provider/Yupp.py703 # Check if this is a token-related error
LOWg4f/Provider/hf_space/CohereForAI_C4AI_Command.py48 # Check if the model exists directly in our models list
LOWg4f/Provider/hf_space/CohereForAI_C4AI_Command.py52 # Check if there's an alias for this model
LOWg4f/Provider/github/copilotTokenProvider.py41 # Check if we have a valid cached token
LOWg4f/Provider/yupp/token_extractor.py97 # Check if this is actually a cached token that failed
LOWg4f/Provider/needs_auth/BlackboxPro.py1975 # Check if there are valid session data in HAR files
LOWg4f/Provider/needs_auth/BlackboxPro.py2005 # Check if there are valid session data in HAR files
LOWg4f/Provider/needs_auth/BlackboxPro.py2085 # Check if this is a premium session
LOWg4f/Provider/needs_auth/BlackboxPro.py2125 # Check if this is a valid session object
LOWg4f/Provider/needs_auth/BlackboxPro.py2270 # Check if we have a valid session
LOWg4f/Provider/needs_auth/Grok.py138 # Check if it's a reasoning model
LOWg4f/Provider/needs_auth/OpenaiChat.py285 # Check if there is an image response
LOWg4f/Provider/needs_auth/Gemini.py503 # Check if the cache file was modified in the last minute to avoid 429 Too Many Requests
LOWg4f/Provider/needs_auth/PuterJS.py241 # Check if we need to use a vision model
LOWg4f/Provider/needs_auth/DeepSeekAPI.py520 # Check if response is actually SSE or regular JSON
LOWg4f/mcp/apply_patch.py26 # Check if patch is available in PATH
LOWg4f/mcp/apply_patch.py201 # Check if any changes
LOWg4f/mcp/tools.py280 # Check if image_data has url attribute
LOWg4f/image/__init__.py218 # Check if the data URI starts with 'data:image' and contains an image format (e.g., jpeg, png, gif)
LOWg4f/image/__init__.py223 # Check if the image format is one of the allowed formats (jpg, jpeg, png, gif)
LOWetc/examples/vision_images.py37local_image.close() # Close file after use
LOWetc/tool/commit.py149 # Check if it's a git repository
LOWetc/tool/commit.py152 # Check if we're in a subdirectory of a git repo
Docstring Block Structure8 hits · 40 pts
SeverityFileLineSnippet
HIGHg4f/providers/base_provider.py207 Abstract method for creating asynchronous results. Args: model (str): The model to use for
HIGHg4f/providers/base_provider.py253 Abstract method for creating an asynchronous generator. Args: model (str): The model to us
HIGHg4f/Provider/Chatai.py59 Make an asynchronous request to the Chatai stream API. Args: model (str): The model name (
HIGHg4f/Provider/needs_auth/OpenaiChat.py388 Create an asynchronous generator for the conversation. Args: model (str): The model name.
HIGHg4f/Provider/needs_auth/bing/create_images.py65 Creates images based on a given prompt using Bing's service. Args: session (ClientSession): Active cli
HIGHg4f/mcp/pa_provider.py472Load a ``.pa.py`` file and return the provider class it defines. The file is executed inside the safe sandbox. The
HIGHg4f/image/__init__.py256 Detect file type from magic number / header signature. Args: binary_data (bytes): File binary data
HIGHg4f/client/service.py31 Retrieves the model and provider based on input parameters. Args: model (Union[Model, str]): The model
Self-Referential Comments9 hits · 27 pts
SeverityFileLineSnippet
MEDIUMg4f/models.py1034# Create a list of all models and their providers
MEDIUMg4f/integration/markitdown/__init__.py40 # Create a copy of the page_converters list, sorted by priority.
MEDIUMg4f/providers/any_provider.py322 # Create a mapping of parent providers to their children
MEDIUM…f/Provider/hf_space/BlackForestLabs_Flux1KontextDev.py76 # Create a conversation/session data container holding tokens and session hash
MEDIUMg4f/api/__init__.py512 # Create the completion response
MEDIUMg4f/client/__init__.py754 # Create a new class that extends OpenaiTemplate
MEDIUMetc/examples/mcp_tools_demo.py22 # Create a tool call request for web search
MEDIUMetc/examples/mcp_tools_demo.py64 # Create a tool call request for web scraping
MEDIUMetc/examples/mcp_tools_demo.py106 # Create a tool call request for image generation
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippet
HIGHg4f/Provider/qwen/QwenCode.py0synchronous cli entry point for setup.py console_scripts.
HIGHg4f/Provider/github/GithubCopilot.py0synchronous cli entry point for setup.py console_scripts.
HIGHg4f/Provider/needs_auth/GeminiCLI.py0synchronous cli entry point for setup.py console_scripts.
HIGHg4f/Provider/needs_auth/Antigravity.py0synchronous cli entry point for setup.py console_scripts.
Over-Commented Block18 hits · 17 pts
SeverityFileLineSnippet
LOWg4f/Provider/CopilotSession.py121 # if not isinstance(media, str):
LOWg4f/Provider/CopilotSession.py141 # # Handle plain text content from bucket
LOWg4f/Provider/Copilot.py161 # if "/c/api/" in har_entry.get("request").get("url", ""):
LOWg4f/Provider/Copilot.py201
LOWg4f/Provider/needs_auth/LMArena.py221 # button = await page.select('button[type="submit"]')
LOWg4f/Provider/needs_auth/OpenaiChat.py261 """
LOWg4f/Provider/needs_auth/Together.py101
LOWg4f/Provider/needs_auth/hf/HuggingFaceAPI.py101 api_path = f"{provider_key}/v1"
LOWg4f/Provider/needs_auth/hf/__init__.py41 if model in cls.model_aliases:
LOWg4f/mcp/pa_provider.py81
LOWg4f/mcp/pa_provider.py121# ---------------------------------------------------------------------------
LOWg4f/api/_logging.py21# frame = frame.f_back
LOWg4f/api/_tokenizer.py1# import tiktoken
LOWetc/examples/config.yaml1# g4f config.yaml – Custom model routing configuration
LOWetc/examples/config.yaml21#
LOW.github/workflows/build-packages.yml301 G4F_VERSION=${{ needs.prepare.outputs.version }}
LOW.github/workflows/build-packages.yml321 # pip3 install -r requirements-min.txt
LOW.github/workflows/build-packages.yml481 # url: https://pypi.org/p/g4f
Magic Placeholder Names3 hits · 10 pts
SeverityFileLineSnippet
HIGHg4f/client/__init__.py786 api_key="your-api-key"
HIGHetc/examples/aibadgr.py7 export AIBADGR_API_KEY="your-api-key-here"
HIGHetc/examples/aibadgr.py17 api_key="your-api-key-here" # Or set AIBADGR_API_KEY environment variable
Dead Code3 hits · 6 pts
SeverityFileLineSnippet
MEDIUMetc/unittest/mocks.py76
MEDIUMetc/unittest/mocks.py86
MEDIUMetc/unittest/mocks.py96
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippet
HIGHg4f/Provider/github/oauthFlow.py74 interval += 5 # Increase interval as requested by GitHub
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippet
LOWg4f/Provider/LambdaChat.py69 # Step 1: Create a new conversation
LOWg4f/Provider/LambdaChat.py80 # Step 2: Get data for this conversation to extract message ID
LOWg4f/Provider/LambdaChat.py130 # Step 3: Send the user message
Example Usage Blocks2 hits · 4 pts
SeverityFileLineSnippet
LOWg4f/Provider/qwen/cookie_generator.py463# Example usage
LOWetc/examples/messages.py29# Usage example
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMg4f/Provider/needs_auth/BlackboxPro.py297 "description": "UI-TARS 72B is an open-source multimodal AI model designed specifically for automating browser and d
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippet
LOWg4f/Provider/GLM.py159 pass # If we can't delete the file, just return None
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOWg4f/mcp/server.py104 async def handle_request(self, request: MCPRequest) -> MCPResponse: